VBA - 如何将选定的范围作为参考传递给TextBox?

时间:2015-08-18 10:33:38

标签: excel vba excel-vba excel-2010

到目前为止,我有一个包含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

1 个答案:

答案 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