如何使用可变列号为 Excel 中整个列中的每个单元格指定
How to specify For Each cell in entire column in Excel using a variable column number
我正在尝试使用 VBA 处理 Excel 电子表格的单列中的每个填充单元格。假设我的变量 thisCell
是一个 Range 对象,我可以使用:
For Each thisCell In Range("A:A")
这没问题,但我想要一个变量,例如ColToSort
(定义为Long
)来指定列,而不是字符串。经过 2 小时的搜索和尝试,我能想到的最好的是这只狗:
For Each thisCell In Range(Chr(64 + ColToSort) & ":" & Chr(64 + ColToSort))
让我不必在这里从一个非常好的数字变量中创建一个字符串!为什么它没有在任何地方记录?
最初,动态指向列可能会非常混乱。我做过各种各样的事情,比如将字母映射到数字等等。值得庆幸的是,有 columns()
对象,它本身就是一个 range
类型。我怀疑您正在寻找的是更多类似的东西:
For Each thisCell In Sheet1.Columns(1).Cells
您可以动态设置列号,而不必使用此方法弄清楚它是哪个字母。
我正在尝试使用 VBA 处理 Excel 电子表格的单列中的每个填充单元格。假设我的变量 thisCell
是一个 Range 对象,我可以使用:
For Each thisCell In Range("A:A")
这没问题,但我想要一个变量,例如ColToSort
(定义为Long
)来指定列,而不是字符串。经过 2 小时的搜索和尝试,我能想到的最好的是这只狗:
For Each thisCell In Range(Chr(64 + ColToSort) & ":" & Chr(64 + ColToSort))
让我不必在这里从一个非常好的数字变量中创建一个字符串!为什么它没有在任何地方记录?
最初,动态指向列可能会非常混乱。我做过各种各样的事情,比如将字母映射到数字等等。值得庆幸的是,有 columns()
对象,它本身就是一个 range
类型。我怀疑您正在寻找的是更多类似的东西:
For Each thisCell In Sheet1.Columns(1).Cells
您可以动态设置列号,而不必使用此方法弄清楚它是哪个字母。