Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EXCEL/Macro如何查找最后一行_Excel_Vba - Fatal编程技术网

EXCEL/Macro如何查找最后一行

EXCEL/Macro如何查找最后一行,excel,vba,Excel,Vba,我用录音机创建了这个小宏。。。现在我只需要它处理可变的行数(而不是我的行数) 是否有提示或技巧可以告诉此代码停在最后一行 Columns("K:K").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("K1").Select ActiveCell.FormulaR1C1 = "Total" Range("K2").Select ActiveCell.FormulaR

我用录音机创建了这个小宏。。。现在我只需要它处理可变的行数(而不是我的行数)

是否有提示或技巧可以告诉此代码停在最后一行

 Columns("K:K").Select
 Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
 Range("K1").Select
 ActiveCell.FormulaR1C1 = "Total"
 Range("K2").Select
 ActiveCell.FormulaR1C1 = "=TEXT(RC[-2]-RC[-3]-RC[-1],""h:mm"")"
 Range("K2").Select
 Selection.AutoFill Destination:=Range("K2:K20000")
 Range("K2:K20000").Select

谢谢你可以试试这样的东西

Sub LastRow()

    Dim sht As Worksheet
    Dim LastRow As Long


    Set sht = ActiveSheet
    LastRow = sht.Cells(sht.Rows.Count, "K").End(xlUp).Row


End Sub

因为您想填写K列,所以我假设该列在单元格K2下方为空。另一列可能有数据,您希望填充到另一列的最后一行数据

为此,您可以确定另一列中的最后一行,在我的示例中,它是A列,但您可以更改它。然后将变量
lastRow
插入自动填充语句

Dim sht As Worksheet
Dim lastRow As Long

Set sht = ActiveSheet

lastRow = sht.Cells(Rows.Count, "A").End(xlUp).Row

sht.Range("K1").FormulaR1C1 = "Total"
sht.Range("K2").FormulaR1C1 = "=TEXT(RC[-2]-RC[-3]-RC[-1],""h:mm"")"
sht.Range("K2").AutoFill Destination:=sht.Range("K2:K" & lastRow)

假设A列中有最后一行:

 Columns("K:K").Select
 Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
 Range("K1").Select
 ActiveCell.FormulaR1C1 = "Total"
 Range("K2").Select
 ActiveCell.FormulaR1C1 = "=TEXT(RC[-2]-RC[-3]-RC[-1],""h:mm"")"
 Range("K2").Select
 LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
 Selection.AutoFill Destination:=Range("K2:K" & LastRow)
 Range("K2:K" & LastRow).Select

你测试过了吗?它充满了错误,在所有错误都修复后,它仍然返回任何电子表格的最后一行,即1048576。