我有一个工作表,其中有很多行。我需要在指定的选定行范围内获取最后一个非空列的最大列索引。
例如,工作表包含 200 行,每行包含 26 列,但目前只选择了第 20 到 30 行。我需要在这些行中找到上次使用的最大列索引。
请注意,连续的非空单元格之间可以有空单元格。我只需要考虑最后一个非空单元格。
我怎样才能做到这一点?
那么你可以试试这个:假设你想得到范围内的最后一"A2:X50"
列Sheet1
Dim LastColumn as Long
lastCol = Sheets(1).Range("A2:X50").Columns.Count
试试这个,lngMaxColumIndex 是最后一列索引,lngMaxRowIndex 是最后一行索引
子 pFindLastCells()
Dim rngRange As Range
Dim wksWorksheet As Worksheet
Dim lngMaxColumIndex As Long
Dim lngMaxRowIndex As Long
'Set 'Sheet1' worksheet
Set wksWorksheet = Worksheets("Sheet1")
With wksWorksheet
'Check for last non-empty cell
Set rngRange = .Cells.Find("*", .Cells(1, 1), xlFormulas, xlWhole, xlByRows, xlPrevious)
End With
If Not rngRange Is Nothing Then
'if found then assign last non-empty cell row and colum index to the variable
lngMaxColumIndex = rngRange.Column
lngMaxRowIndex = rngRange.Row
Else
'if not found gives message
MsgBox "No Data in " & wksWorksheet.Name, vbCritical + vbInformation, "Error"
End If
Set rngRange = Nothing
结束子