Excel VBA:循环查找

我是新来的VBA,我试图转换我写到VBA代码,将循环通过列中的每个单元格的Vlookup公式。 vlookup是一个if语句的一部分,它自行工作正常。 我面临的问题是我不知道如何告诉vlookup函数查找数据的单元格,以便它可以推广到整个循环。 公式如下

= IF(K114 <> “”,K114,VLOOKUP($ A114,排版$ A $ 1:$ d $ 136,2,FALSE))

这是我对VBA的看法

Sub Ranking() Dim cell As Range, rng As Range Set rng = Range("K2:K120") For Each cell In rng If cell.Value <> "" Then cell.Offset(0, 1).Value = cell.Value Else: cell.Offset(0, 1).Value = WorksheetFunction.VLookup(HELP HERE,ThisWorkbook.Sheets(2).Range("A1:D136"), 2, 0) End If Next End Sub 

我不知道要把“帮助这里”放在哪里,告诉它引用它正在寻找的同一行的A列中的文本。我也不确定该放什么地方,情况? 任何build议,非常感谢。 非常感谢!

对于“这里的帮助”,看看你的公式,换出K114的A114。 这意味着您需要从K列中的当前单元格返回到A列。可以使用当前单元格的偏移量向左移动10列以完成A列。

 Sub Ranking() Dim cell As Range, rng As Range Set rng = Range("K2:K120") For Each cell In rng If cell.Value <> "" Then cell.Offset(0, 1).Value = cell.Value Else cell.Offset(0, 1).Value = WorksheetFunction.VLookup(cell.Offset(0, -10).Value, ThisWorkbook.Sheets(2).Range("A1:D136"), 2, 0) End If Next End Sub