1
Dim Brand As String
    Worksheets("1st").Select
    Brand = Range()

嗨,我在 microsoft excel 2011 中使用 VBA 编码,但我有点卡住了范围。假设我想在单元格 c4 中开始某些内容,我在范围内输入 c4,但是如果我希望它一直持续到该列的下方(无限,因为我们不知道该列中有多少行将被填充up),那么正确的写法是什么?

4

2 回答 2

3
Range("C4", Range("C4").End(xlDown))

这将返回范围,C4 到 C4 和 Down。

这将选择从 C4 一直到第一个空白单元格的所有连续单元格。

现在,如果您的数据有可能在非空白单元格之间有空白。然后,您可以使用以下内容:

Range("C4", Range("C" & Rows.Count).End(xlUp))

这将选择 C4 到 C 列中的最后一个单元格,直到包含数据的单元格。换句话说,这将从 C4 中选择 C ​​列中的每个单元格,直到整个列中的最后一个单元格带有值,并包括空白。

于 2013-11-06T01:24:11.563 回答
0

其他方式

Sub Main()

     Dim Brand As String
     Dim lastRow As Long
     Dim rng As Range, cell As Range

    Dim sht As Worksheet
    Set sht = ThisWorkbook.Worksheets("1st")

    With sht
     lastRow = .Range("C" & .Rows.Count).End(xlUp).Row
    End With

    If lastRow < 4 Then lastRow = 4

    Set rng = sht.Range("C4:C" & lastRow)

    For Each cell In rng
       MsgBox cell.Value
    Next

End Sub
于 2013-11-06T01:32:11.700 回答