VBA/Excel:从不同工作表获取单元格

问题描述 投票:0回答:1

长话短说:我在 Excel 中有两张工作表:Sheet1 有两个单元格(A1 和 A2)和 Sheet2(提供一些数据),如下所示:

  | A | B  |
--|---|----|
1 | a | 5  |
2 | b | 10 |
3 | c | 15 |
4 | ...

所以这是我的问题:在 Sheet1 中,当我在 A1 中输入“b”时,它应该自动在 A2 中输入 10。

有点像一个简单的查找操作,它将返回单元格(或列)编号,并使用它来返回其旁边的单元格的值。但我该怎么做呢?

提前致谢!

excel vba find cell
1个回答
0
投票

如前所述,VLOOKUP 是最简单、最快的方法,但我假设您不想在该单元格或整个 Sheet1 中使用公式?这是一种在 VBA 中执行相同操作的简单方法,同时仍然使用 VLOOKUP - 只是不在 Sheet1 上:

使用 Sheet2!Z1 进行计算,如果您的工作簿中使用了该单元格,则只需使用隐藏区域中任何其他未使用的单元格即可。 Sheet2!Z1 中的公式:

=VLOOKUP(Sheet1!$A$1,Sheet2!$A$B,2,FALSE)

用于填充 Sheet1!A2 的简单 VBA:

sum DoIt
  Worksheets("Sheet1").Range("A2").Value = Worksheets("Sheet2").Range("Z1").Value
  end sub

例如,您可以使用按钮调用 DoIt 子程序,它将使您的 Sheet1/单元格 A2 保持干净的公式。

© www.soinside.com 2019 - 2024. All rights reserved.