检查单元格是否是 Excel 范围的最后一个单元格

Nik*_*wal 1 excel vba

我在MyRange范围内循环。我需要找出是否CellMyRange.

For Each Cell In MyRange.Cells        
    If Cell = ' What should I write here?
        'Do some stuff
    End If
Next Cell
Run Code Online (Sandbox Code Playgroud)

我试过这个:

If Cell = MyRange.Cells(0, MyRange.Count) Then
Run Code Online (Sandbox Code Playgroud)

但它给出了错误。

我该怎么办?

Dou*_*ncy 5

你的回答很好,但这是一个有趣的问题。这里有一个提前弄清楚的方法:

Sub test()
Dim MyRange As Excel.Range
Dim cell As Excel.Range
Dim LastCell As Excel.Range

Set MyRange = Selection
Set LastCell = MyRange.Areas(MyRange.Areas.Count).Cells(MyRange.Areas(MyRange.Areas.Count).Cells.Count)
For Each cell In MyRange
If cell.Address = LastCell.Address Then
    MsgBox cell.Address
    Exit For
End If
Next cell
End Sub
Run Code Online (Sandbox Code Playgroud)

请注意,在我们的两种方法中,如果有多个区域,“最后一个单元格”可能不是最底部或最右侧的单元格。例如,选择单元格 J10:J20,然后选择 E5:E10 并运行上述命令。结果将为 E10,因为它是最后选择的。