Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
在VBA中查找最后一行的差异_Vba_Excel - Fatal编程技术网

在VBA中查找最后一行的差异

在VBA中查找最后一行的差异,vba,excel,Vba,Excel,我有3种方法可以找到A列的最后一行。它们的区别是什么?哪一个最好用 Nr 1 Range("A" & Rows.Count).End(xlUp).Row Nr 2 Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Nr 3 Dim Col, row, lastRow As Integer Col = 1 row = 1 lastRow =

我有3种方法可以找到A列的最后一行。它们的区别是什么?哪一个最好用

Nr 1
Range("A" & Rows.Count).End(xlUp).Row

Nr 2
Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

Nr 3
Dim Col, row, lastRow As Integer

Col = 1
row = 1
lastRow = 1

lastRow = Cells(Rows.Count, Col).End(xlUp).row
Cells(lastRow, Col).Select

获取列A中最后一个填充单元格的行号的一种方法:

Sub LastFilledCellInColumnA()
    Dim wf As WorksheetFunction, nLastRowA As Long
    Set wf = Application.WorksheetFunction
    nLastRowA = Rows.Count
    If wf.CountA(Cells(nLastRowA, 1)) = 1 Then
        MsgBox nLastRowA
        Exit Sub
    End If
    nLastRowA = Cells(Rows.Count, "A").End(xlUp).Row
    MsgBox nLastRowA
End Sub

如果列A为空1将被输出

这在下面的堆栈上已经被问了数千次了…我怎么说对了,这个问题被一次又一次地问。没有正确的方法。所有的方法都有它们的问题。看看我在哪里提供了一个宏来显示方法失败的情况。@chrisneilsen我是这个网站的新手,我试图了解人们为什么“在这种情况下只使用这些变量”,这个问题不是为了找到最后一行,而是为了知道区别。许多人已经多次看到这些问题,但在不同的情况下,他们都知道如何找到它们。在这种情况下,你给我发送了一些链接,我可以比较“不同的代码”,并阅读他们使用这些代码的论点。所以我对我在这里得到的答案非常满意。我越是使用这个网站,我就越能学会如何搜索它,而不会占用你的时间。如果我用的是蹩脚的英语,请原谅我。