单元格引用中的VBA变量

时间:2016-03-31 14:38:27

标签: vba excel-vba excel

只是想知道是否有人可以帮我解决这个问题。 F14的值为12。

我想选择C列,行号将是单元格F14中的数字。

Range("f14").Value = x
Dim x As Integer

range("cx").select

1 个答案:

答案 0 :(得分:0)

Range("cx").select

你需要理解这里的基本原理 - 在VBA中你用双引号放的任何东西都是字符串文字,所以"cx"只是:a 字符串文字

是的,Range函数(隐含地指活动工作表,所以它就像调用ActiveSheet.Range一样,这不是理想的)想要一个{{1} }参数指定地址 - 但Stringx局部变量,而不是字符串文字。

首先,将Integer贴在模块的顶部。

然后,在使用之前声明变量

现在,您需要"抓住" F14的值并将其存储在Option Explicit中 - 为此,您需要分配 x。您的作业操作相反 - 当您打算以相反的方式执行此操作时,您将x的值分配给X.翻转一下:

F14

现在如果一切顺利,您的值为Dim x As Integer x = ActiveSheet.Range("F14").Value 存储在X中。如果单元格中没有包含数值,您将遇到问题如果你打扰一下,你可以在这个网站上找到很多解决方案。

因此F14的数值为x,您需要12表示String - 您需要连接字符串文字C12,其值为"C"。 VBA为您提供了字符串连接运算符x

&

Dim theAddress As String theAddress = "C" & CStr(x) 功能并不是真正需要的,但它明确表示您正在将CStr(一个数字)转换为x。如果您没有明确地进行转换,VBA会尝试为您隐式执行转换(并且这并不总是一件好事)。

所以String现在是字符串变量,其中包含值theAddress(假设"C12"x)。

将其提供给12函数:

Range

希望它有所帮助。