在一行中使用最后一个单元格之后写入数据,并执行一个vlookup,沿列向下,直到某个单元格

我正在尝试使用vba自动执行excel过程。

从2010年开始,每个月都有一个专栏(这个专栏可以无限扩展,或者至less在Excel的限制范围内)。 有数字数据以下有500行。

所以,我想find最后一个没有使用的列(当前月份),并从vlookup中填充它下面的所有行。

谢谢。


工作代码!

With ActiveSheet.Range("IV42").End(xlToLeft) Dim iRow As Integer For iRow = 1 To 581 Dim Lookup_Value, Table_Array, Col_Index, Range_Lookup As String Lookup_Value = "B42:B622" Table_Array = "'Current Rankings'!$B$2:$C$607" Col_Index = "2" Range_Lookup = "False" .Offset(iRow - 1, 0).Formula = "=VLOOKUP(" & Lookup_Value & "," & Table_Array & "," & Col_Index & "," & Range_Lookup & ")" Next iRow End With 

要find最后一列,请使用ActiveSheet.Range("IV1").End(xlToLeft) 。 (这是假设你有第一行的值)

因此,要查找最后一列使用后的列,可以使用ActiveSheet.Range("IV1").End(xlToLeft).Range("B1") 。 这将指向新月的专栏的第一个单元格。

然后你可以做一个简单的循环来填充列…你的代码应该看起来像这样:

 With ActiveSheet.Range("IV1").End(xlToLeft).Range("B1") Dim iRow as Integer for iRow = 1 to 500 Dim Lookup_Value, Table_Array, Col_Index, Range_Lookup Lookup_Value = ???? Table_Array = ???? Col_Index = ???? Range_Lookup = ???? .Offset(iRow-1,0).Formula = "=VLOOKUP(" & "," & _ Lookup_Value & _"," & _ Table_Array & "," & _ Col_Index_Num & "," & _ Range_Lookup & ")" next iRow end with