VBA代码,用于查找所选行中最后使用的列索引的最大值

时间:2013-01-18 10:06:44

标签: excel excel-vba vba

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

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

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

我怎样才能做到这一点?

2 个答案:

答案 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