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

到目前为止,我有一个包含TextBox(TextBox1)和Button(BtnRng)的小型UserForm。

我想要的是通过使用范围select器插入到文本框的范围。 到目前为止,我已经设法创build一个types值为8的InputBox。但是,我无法弄清楚如何将选定的范围传递给TextBox作为参考。

例如,如果我select范围A1到A10,InputBox正确显示“$ A $ 1:$ A $ 10”。 但是我想要的是将参考放置到TextBox中。 这是我无法弄清楚的部分。 此刻它想要将在范围中select的单元格的值放到文本框中。

这是迄今为止的代码:

Private Sub BtnRng_Click() Dim ThisRng As String ThisRng = Application.InputBox("Select a range", "Get Range", Type:=8) TextBox1.Text = ThisRng End Sub 

参数Type = 8函数InputBox返回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