【发布时间】:2019-04-30 17:00:01
【问题描述】:
我在使用 vba 进行 vlookup 方面需要帮助,因为我无法在网上找到解决方案 情况是我有三张纸
工作表 1:在单元格 B3 中查找具有名称的值
Sheet 1工作表 2:包含
name和surname列的查找表
Sheet 2工作表 3:在单元格 B3 中查找值的结果为
surname
Sheet 3
您可以参考图片以更好地理解
所以表格 1 中的值是我的查找值,姓氏必须打印在表格 3 中,表格数组在表格 2 中
我试过的代码是
Sub nameloopkup()
Dim name As String
Dim result As String
Dim myrange As Range
name = Worksheets("Sheet1").Range("B3").Value
myrange = Worksheets("Sheet2").Range("A:B").Value
result = Application.WorksheetFunction.VLookup(name, myrange, 2, False)
' the query does not run and i don't know how can i print the result in sheet 3
End sub
对于这里的许多人来说,这可能很简单。但考虑到我对 VBA 的熟悉程度,我需要一些相关的指导。
感谢任何形式的帮助或建议。
【问题讨论】:
-
①“查询不运行”究竟是什么意思? ② 为什么不直接使用公式?我认为这里不需要 VBA。 ③ 你应该在
myrange = Worksheets("Sheet2").Range("A:B").Value这一行得到一个错误,因为如果你的变量被声明为Range你必须使用Set myrange = Worksheets("Sheet2").Range("A:B") -
为什么不能在 Sheet 3 中直接使用 V-lookup 公式?您只需要 VBA 编码吗?我的建议,简单的方法是直接在 Sheet 3 中编写公式。
-
是的,我需要通过 VBA 本身来执行此操作,因为它只是整个项目的一小部分。但是如何在表 3 中打印结果?任何建议
-
是的,我需要通过 VBA 本身来执行此操作,因为它只是整个项目的一小部分。你对我有什么建议吗?