我有一个工作表,其中有很多行。我需要在指定的选定行范围内获取最后一个非空列的最大列索引。
例如,工作表包含200行,每行包含26列,但目前只选择20到30行。我需要找到这些行中最后一次使用的最大列索引。
请注意,连续非空单元格之间可能有空单元格。我只需要考虑最后一个非空单元格。
我怎样才能做到这一点?
答案 0 :(得分:0)
你可以试试这个:
假设您想要获取"A2:X50"
Sheet1
范围内的最后一列
Dim LastColumn as Long
lastCol = Sheets(1).Range("A2:X50").Columns.Count
答案 1 :(得分:0)
试试这个,lngMaxColumIndex是最后一列索引,lngMaxRowIndex是最后一行索引
Sub 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
End Sub