单元格中的值作为select公式中的variables

我编写了下面的VBA代码:

Sub test() Dim Variable As Variant Variable = "R2:R11" Sheet1.Select Range(Variable).Select End Sub 

这个公式完美地工作。 现在我想replacevariables的“R2:R11”部分,而是引用电子表格中的单元格(W12)。 在这个单元格中,我写了“R2:R11”,并将公式更改为以下内容:

 Variable = Sheet1.Range("W12") 

这导致了以下代码:

 Sub test() Dim Variable As Variant Variable = Sheet1.Range("W12") Sheet1.Select Range(Variable).Select End Sub 

但是,用这个公式我现在得到错误1004。

你们有什么解决方法,我可以使参考电子表格中的单元格的variables,然后在select公式中使用它?

谢谢你的帮助 :-)

您需要正确声明您的variables并访问Range对象的实际.Value属性。

 Sub test() Dim Variable As String Variable = Sheet1.Range("W12").Value Sheet1.Select Range(Variable).Select End Sub 

这也可以写成:

 Sub test() Sheet1.Activate Range([W12]).Activate End Sub 

关于.Value属性的一个注释 – 如果你省略了这个值,那么通常会赋值,因为它是range对象的默认属性。 这就是说有些情况下,情况并非如此,因此总是最好的做法是明确说明你想要的价值。

你最有可能在W12单元格中input了"R2:R11" ,也就是说在那个单元格中也只需inputR1:R12

而且你可以简单地编码

 Sub test() Sheet1.Range(Sheet1.Range("W12")).Select End Sub