Dim Brand As String
Worksheets("1st").Select
Brand = Range()
嗨,我正在使用微软excel 2011中的VBA编码,我对范围有点困惑。假设我想在单元格c4中启动一些东西,我在范围内输入c4但是如果我然后希望它继续一直到列中(无限制,因为我们不知道该列中将填充多少行那么,写这个的正确方法是什么?
答案 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