如何使用可变列号为 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

您可以动态设置列号,而不必使用此方法弄清楚它是哪个字母。