sik*_*kas 4 excel vba excel-vba
如何使用Excel VBA获取包含特定范围内数据的最后一个单元格,例如A列和B列Range("A:B")?
使用Find如下所示是有用的
Nothing识别空白范围SpecialCells范围(即范围)上工作更改"YourSheet"为您要搜索的工作表的名称
Sub Method2()
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Sheets("YourSheet")
Set rng1 = ws.Columns("A:B").Find("*", ws.[a1], xlValues, , xlByRows, xlPrevious)
If Not rng1 Is Nothing Then
MsgBox "last cell is " & rng1.Address(0, 0)
Else
MsgBox ws.Name & " columns A:B are empty", vbCritical
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
你可以尝试几种方法:
Dim WS As Worksheet
Dim LastCellA As Range, LastCellB As Range
Dim LastCellRowNumber As Long
Set WS = Worksheets("Sheet1")
With WS
Set LastCellA = .Cells(.Rows.Count, "A").End(xlUp)
Set LastCellB = .Cells(.Rows.Count, "B").End(xlUp)
LastCellRowNumber = Application.WorksheetFunction.Max(LastCellA.Row, LastCellB.Row)
End With
Run Code Online (Sandbox Code Playgroud)
Dim WS As Worksheet
Dim LastCell As Range
Set LastCell = Range("A:B").SpecialCells(xlCellTypeLastCell)
Run Code Online (Sandbox Code Playgroud)
后者有时可能很棘手,可能无法按照您的意愿工作.
您还可以查看Chip Pearson关于此问题的页面