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 に答える