Excel将范围设置为单元格到variables

所以我现在正在使用这个代码

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来计算行数,并且我想重新使用这个macros,而不必每次都手动更改范围。 我想将范围设置为类似的

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

这可能吗? 我想这样做,而不是使用类似的东西

For i = 1 To rwcnt

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

你唯一需要改变的是你的rwcntvariables的合并方法。 请参阅下面的内容 – 使用&将rwcnt的值与文本string“A1:A”组合。

 For i = 1 to rwcnt Set Myrange = ActiveSheet.Range("A1:A"&rwcnt) Next i 

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

 Set Myrange = ActiveSheet.Range("A:A") For i = 1 to rwcnt *Do Something* with MyRange(1,i) Next i