到目前为止,我有一个包含TextBox(TextBox1)和Button(BtnRng)的小型UserForm。
我想要的是使用范围选择器将范围插入TextBox。到目前为止,我已经设法创建一个类型值为8的InputBox。但是,我无法弄清楚如何将选中的范围作为参考传递给TextBox。
例如,如果我选择范围A1到A10,则InputBox正确显示" $ A $ 1:$ A $ 10"。但我当时想要的是将引用放在TextBox中。正是这部分我无法弄清楚。目前,它希望将范围内选定的单元格的值放入文本框中。
这是我到目前为止的代码:
Private Sub BtnRng_Click()
Dim ThisRng As String
ThisRng = Application.InputBox("Select a range", "Get Range", Type:=8)
TextBox1.Text = ThisRng
End Sub
答案 0 :(得分:4)
带参数InputBox
的函数Type = 8
会返回Range
类(不是String
)的对象。
这就是为什么你不能直接把它放到文本框中。首先,您需要使用其Address
属性来获取其地址。
Private Sub BtnRng_Click()
Dim ThisRng As Excel.Range
Set ThisRng = Application.InputBox("Select a range", "Get Range", Type:=8)
TextBox1.Text = ThisRng.Address
End Sub