Excel将范围设置为单元格到变量

时间:2015-07-28 15:08:49

标签: excel vba variables range

所以我现在正在处理这段代码

Sub splitUpRegexPattern()
Dim regEx As New RegExp
Dim PATTERN As String
Dim strInput As String
Dim strReplace As String
Dim Myrange As Range
rwcnt = WorksheetFunction.CountA(Range("A:A"))
Set Myrange = ActiveSheet.Range("A1:A")

我正在使用rwcnt来计算行数,因为我想重新使用这个宏,而不必每次都手动更改范围。我想将范围设置为

Set Myrange = ActiveSheet.Range("A1:A[rwcnt]")

这可能吗?我想把它设置为这样,而不是使用像

这样的东西

For i = 1 To rwcnt

任何意见都将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:1)

您需要更改的唯一方法是合并您的rwcnt变量。见下文 - 使用&将rwcnt的值组合到文本字符串“A1:A”。

For i = 1 to rwcnt

    Set Myrange = ActiveSheet.Range("A1:A"&rwcnt)

Next i

如果您提供更多信息,可能会有一种更简洁的循环行方式,具体取决于您实际使用它的方式。每次设置范围看起来有点奇怪 - 最好先设置范围,覆盖整个列,然后循环遍历rng变量,而不是电子表格。这将更快,因为您的代码只需要第一次访问您的工作表。这看起来像这样:

Set Myrange = ActiveSheet.Range("A:A")

For i = 1 to rwcnt

     *Do Something* with MyRange(1,i)

Next i