gpt4 book ai didi

单元格引用中的 VBA 变量

转载 作者:行者123 更新时间:2023-12-04 22:00:14 25 4
gpt4 key购买 nike

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

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

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

range("cx").select

最佳答案

Range("cx").select

您需要了解这里的基础知识 - 在 VBA 中,您放在双引号中的任何内容都是字符串文字,所以 "cx"就是这样:一个字符串文字。

是的, Range函数(隐式引用事件工作表,因此就像调用 ActiveSheet.Range ,这并不理想)想要 String指定地址的参数 - 但 xInteger局部变量,而不是字符串文字。

第一件事,坚持 Option Explicit在模块的顶部。

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

现在,您需要“获取” F14 的值并将其存储在 x 中。 - 为此,您需要分配 x .你的赋值操作是相反的——你正在赋值 F14对 X 的值,当你打算反过来做时;翻转它:
Dim x As Integer
x = ActiveSheet.Range("F14").Value

现在,如果一切顺利,您将获得 F14 的值存储在 X 中。如果单元格不包含数值,您将遇到问题,如果您费心搜索一下,您会在此站点上找到大量解决方案。

所以 x具有数值 12 , 你需要一个 String上面写着 C12 - 您需要连接字符串文字 "C"值为 x . VBA 为您提供了字符串连接运算符: & .
Dim theAddress As String
theAddress = "C" & CStr(x)
CStr函数并不是真正需要的,但它明确表明您正在转换 x (一个数字)到 String .如果您没有显式地进行转换,VBA 将尝试为您隐式地进行转换(这并不总是一件好事)。

所以 theAddress现在是一个包含值 "C12" 的字符串变量(假设 x12 )。

给它 Range功能:
Range(theAddress).Select

希望能帮助到你。

关于单元格引用中的 VBA 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36336533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com