0

我有一个工作表,其中有很多行。我需要在指定的选定行范围内获取最后一个非空列的最大列索引。

例如,工作表包含 200 行,每行包含 26 列,但目前只选择了第 20 到 30 行。我需要在这些行中找到上次使用的最大列索引。

请注意,连续的非空单元格之间可以有空单元格。我只需要考虑最后一个非空单元格。

我怎样才能做到这一点?

4

2 回答 2

0

那么你可以试试这个:假设你想得到范围内的最后一"A2:X50"Sheet1

Dim LastColumn as Long    
lastCol = Sheets(1).Range("A2:X50").Columns.Count
于 2013-01-18T10:33:27.077 回答
0

试试这个,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

结束子

于 2014-10-13T07:24:44.637 回答