基本上我想命名一个范围(" B1:Bn")以便我可以使用Combobox
的名称来列出该范围的值,但这里范围/列表可能会增加所以我希望这个范围是dyanamic,因此shoud与该范围具有相同的名称。
我在下面写了一段代码:
Private Sub ComboBox1_Change()
Dim Total_Row As Integer
Total_Row = Worksheets("Database").Range("B1").CurrentRegion.Rows.Count
Range("B1:B11").Select
'Now I want something like `Range("B1:B***Total_Row***").Select`
End sub
或者我们可以使用下面的代码使其动态化吗?
ActiveWorkbook.Names.Add Name:="Testing", _
RefersToR1C1:="=Database!R2C2:R***(Total_Row)***C2"
End Sub
答案 0 :(得分:1)
以下是您想要的吗?我按照你提到的那样选择第二栏
Range(Cells(1,2), Cells(Total_Row, 2)).Select
答案 1 :(得分:1)
Range参数是字符串,因此您只需将其连接为字符串
Range("B1:B" & Total_Row).Select
与下面的行相同
RefersToR1C1:="=Database!R2C2:R" & Total_Row & "C2"
答案 2 :(得分:0)
试试这个(不要忘记定义Worksheet_Name
)
Private Sub ComboBox1_Change()
Dim Total_Row As Integer
Dim Pasted_Range As String
Total_Row = Worksheets("Database").Range("B1").CurrentRegion.Rows.Count
Pasted_Range = "=" & Worksheet_Name & "!R2C2:R" & Total_Row & "C2"
ActiveWorkbook.Names.Add Name:="Testing", RefersToR1C1:=Pasted_Range
End Sub
点击此处了解详情:Copy range to another sheet and insert name from Input Box with this copy