只是想知道是否有人可以帮我解决这个问题。
F14
的值为12。
我想选择C列,行号将是单元格F14
中的数字。
Range("f14").Value = x
Dim x As Integer
range("cx").select
答案 0 :(得分:0)
Range("cx").select
你需要理解这里的基本原理 - 在VBA中你用双引号放的任何东西都是字符串文字,所以"cx"
只是:a 字符串文字
是的,Range
函数(隐含地指活动工作表,所以它就像调用ActiveSheet.Range
一样,这不是理想的)想要一个{{1} }参数指定地址 - 但String
是x
局部变量,而不是字符串文字。
首先,将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
希望它有所帮助。