我正在尝试构建一个涉及用户输入一些变量的宏。因此,我需要能够选择(和自动填充)不同大小的范围。下面是我想用来自动填充此变量范围的代码。如您所见,我想自动填充范围A2:Axxx,其中xxx = 1 + patientprofiles。例如,如果patientprofiles = 50,则下面的代码可以工作,但我不想每次都要编辑宏;我希望范围根据用户输入进行自我调整。
Dim patientprofiles As Integer
Worksheets("Inputs").Select
patientprofiles = Cells(2, "B").Value
Worksheets("Work").Activate
Cells(2, 1) = 101
Cells(3, 1) = 102
Set SourceRange = Worksheets("Work").Range("A2:A3")
Set fillRange = Worksheets("Work").Range("A2:A51")
SourceRange.AutoFill Destination:=fillRange
答案 0 :(得分:2)
Range()对象标准的一种方法是表示由:
分隔的开始和结束单元格的字符串。
我们可以使用&
连接字符串。我们从字符串的设置项开始,这些项不会更改:"A2:A"
然后将变量添加到patientprofiles +1
。
最后一个字符串是"A2:A" & patientprofiles +1
所以:
Set fillRange = Worksheets("Work").Range("A2:A51")
将是:
Set fillRange = Worksheets("Work").Range("A2:A" & patientprofiles +1)