如何在vba中获得无限范围

时间:2013-11-06 01:18:51

标签: excel vba

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

嗨,我正在使用微软excel 2011中的VBA编码,我对范围有点困惑。假设我想在单元格c4中启动一些东西,我在范围内输入c4但是如果我然后希望它继续一直到列中(无限制,因为我们不知道该列中将填充多少行那么,写这个的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

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

这将返回范围,C4到C4和向下。

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

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

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

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

答案 1 :(得分: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