【问题标题】:fill cells based on contents of other cells根据其他单元格的内容填充单元格
【发布时间】:2014-09-13 21:43:21
【问题描述】:

在 col A 中,我的工作簿第 3 页中有一个 c++ 数据类型列表。在 col C 中,我有与每种数据类型相关联的字节数。

在工作表 1 col A 中,我有一个基于工作表 3 中数据类型的下拉选择框。

我有一个按钮来运行宏以使用表 3 中的相关数据大小填充此表上的 col C。

数据是这样的:

  • col A col C
  • 字符 8
  • int 16
  • 长32

等等等等

我发现填充的总行数: Lastrow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row

这是我的循环的最大行数 如何将 col A 表 1 中的每一行与表 3 上 col A 中的每一行进行比较,以便从表 3 上的 col C 中获取正确的值。并将其放入表 1 上 col C 中的相应行. 谢谢。

【问题讨论】:

  • 不需要 VBA,只需使用 VLOOKUP 公式:=VLOOKUP(A1,Sheet3!A:C,3,FALSE)
  • 感谢tigeravatar。我之前使用 insert fx 功能构建了这个函数。它在构建器窗口中工作,返回正确的值,但不会将值留在插入公式的单元格中,只显示公式。

标签: vba excel


【解决方案1】:

这可以通过多种方式完成。但是如果你想通过vba来做,把下面的代码button_click sub。 Lastrow 可以像你一样计算出来。

Dim searchRange As Range

Set searchRange = Worksheets("Sheet3").Range("A1:A3")
For i = 1 To Lastrow
matchedrow = WorksheetFunction.Match(ActiveSheet.Range("A" & i), searchRange, 0)
ActiveSheet.Range("C" & i) = Sheet3.Cells(matchedrow, 3).Value
Next i

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多