我正在开发这个Excel VBA函数来根据我在(M3:M4176)中设置的ID打印不同的VLookup值,这样重复的值会显示不同的VLookup结果。我创建了下面的函数来查找和打印这些值。
Sub Main()
Range("H5").Select
Cells(1, 1).Select 'Seleciona o Valor da célula atual
ActiveCell.Offset(2, 0).Select 'Altera a posição da Célula 2 Células para a esquerda
ActiveCell.Offset(0, 2).Select 'Altera a posição da Célula 2 Células para baixo
Dim var As Integer
Dim result As Variant
For var = 1 To Range("H5").Value
ActiveCell.Offset(1, 0).Select
result = Application.VLookup(Range("A5") & Range("M3:M4176").Row, Range("M3:Q41765"), False)
ActiveCell.Value = result
Next var
End Sub
在pure excel中,我用来生成和测试不同结果的vlookup可以工作,但是当应用到VBA时,结果会被打印出来,但是会显示为#Value。这样做是不是根本不可能?我感觉离结果很近,但是我迷失了,因为我现在才开始学习VBA,通过构建这个。下面是在单元格中工作的excel函数
=IFERROR(VLOOKUP(P3&ROW(M3:M4176);M3:Q4176;5;FALSE);"")
1条答案
按热度按时间ljsrvy3e1#
我仍然不确定你想从代码中得到什么,但是这里有一个基本的例子,说明了如何在VBA中使用VLookup,遍历一个范围。
这是输出: