Excel 如何将范围的端点定义为包含数据的最后一行?
我正在使用vlookup,在通过查找找到它之后,我正在使用自动填充。在宏中,在自动填充代码之后,它将查找范围并自动填充。但就代码的健壮性而言,它是没有用处的,因为它找到的范围与代码紧密相连。基本上Excel 如何将范围的端点定义为包含数据的最后一行?,excel,vba,range,vlookup,Excel,Vba,Range,Vlookup,我正在使用vlookup,在通过查找找到它之后,我正在使用自动填充。在宏中,在自动填充代码之后,它将查找范围并自动填充。但就代码的健壮性而言,它是没有用处的,因为它找到的范围与代码紧密相连。基本上 ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],Sheet1!C[-5]:C[4],7,FALSE)" Range("F2").Select Selection.AutoFill Destination:=Range("F2:F502") R
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],Sheet1!C[-5]:C[4],7,FALSE)"
Range("F2").Select
Selection.AutoFill Destination:=Range("F2:F502")
Range("F2:F502").Select
是原始代码,我只想做RangeF2:最后的数据
提前谢谢
编辑:已解决
Dim LastRow As Long
LastRow = Cells(Rows.Count, "F").End(xlUp).Row
Range("F2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],Sheet1!C[-5]:C[4],7,FALSE)"
Range("F2").Select
Selection.AutoFill Destination:=Range("F2", Cells(LastRow, 6))
我试图简化代码,但我想我需要把它放在每个VLOOKUP之前,找到F列中使用的最后一行
编辑1:在本例第2行中添加了LastCol
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],Sheet1!C[-5]:C[4],7,FALSE)"
Range("F2").Select
Dim LastRow As Long
Dim LastCol As Long
LastCol = Cells(2, Columns.Count).End(xlToLeft).Column
LastRow = Cells(Rows.Count, LastCol).End(xlUp).row
' assuming your data starts from row 2
Selection.AutoFill Destination:=Range(Cells(2, LastCol), Cells(LastRow, LastCol))
Range(Cells(2, LastCol), Cells(LastRow, LastCol)).Select
您需要找到最后一行的行数。计数,您可以通过设置范围来简化,这样就不需要使用自动填充:
另外,您应该尽量避免使用Select谢谢您的回复,因为找到了最后一行,我怎样才能自动实现F部件。因为数据实在太大了,它实际上并没有自动化F,为了自动化,代码中不应该有任何F。使用此代码时,它甚至不能用于自动填充。但是谢谢你的努力和支持time@hakandeep当F列中有数据时,它工作,不是吗?单元格和最后一行不工作。最后一行为1。感谢您的回复,但我需要使用select。因为数据是从一张图纸传输到另一张图纸的,我使用的是End属性。我也没有太多时间,所以通常我使用宏录制,并试图通过修改来增加代码的灵活性。此外,我认为该代码遗漏了公式中不断变化的单元格,因为它搜索C2、C3,……而且该代码仅将F2和F3打印为vlookup名称。应从第1页的F列到第2页的F列的vlookup中获取数据。我放置了sheet1.range=F2:F,但我认为这部分不起作用。这是我的全部问题。我希望它从F2到包含数据的最后一行
Dim MyRange as Range: Set MyRange = Range("F2:F" & Cells(Rows.Count, "F").End(xlUp).Row)
MyRange.FormulaR1C1 = "VLOOKUP(RC[-5],Sheet1!C[-5]:C[4],7,FALSE)"