wah*_*a31 12 excel vba excel-vba
当我们要在行中执行循环时,我们可以使用如下代码:
i = 1
Do
Range("E" & i & ":D" & i).Select
i = i + 1
Loop Until i > 10
Run Code Online (Sandbox Code Playgroud)
但是如果我们想在列上做一个循环呢?
我们可以使用与上述相同的方法吗?
Excel中的列是一个复杂的,如A,B,C,...,Y,Z,AA,AB,AC,......等.从"Z"到"AA"的循环之间会出现问题".
我们如何将字母列从"A"循环到"Z"然后继续进入"AA","AB"等
有什么可以帮助吗?
Lar*_*rry 25
是的,我们Select
以此为例
示例代码: Columns("A").select
如何循环列:
方法1 :(您可以使用索引替换Excel地址)
For i = 1 to 100
Columns(i).Select
next i
Run Code Online (Sandbox Code Playgroud)
方法2 :(使用地址)
For i = 1 To 100
Columns(Columns(i).Address).Select
Next i
Run Code Online (Sandbox Code Playgroud)
编辑:剥离OP的列
columnString = Replace(Split(Columns(27).Address, ":")(0), "$", "")
Run Code Online (Sandbox Code Playgroud)
例如,你想得到第27列 - > AA,你可以这样得到它
尝试的另一种方法.select
将初始列设置为Range对象时也可以替换.性能明智有帮助.
Dim rng as Range
Set rng = WorkSheets(1).Range("A1") '-- you may change the sheet name according to yours.
'-- here is your loop
i = 1
Do
'-- do something: e.g. show the address of the column that you are currently in
Msgbox rng.offset(0,i).Address
i = i + 1
Loop Until i > 10
Run Code Online (Sandbox Code Playgroud)
**使用列号获取列名的两种方法**
码
colName = Split(Range.Offset(0,i).Address, "$")(1)
Run Code Online (Sandbox Code Playgroud)
码
Function myColName(colNum as Long) as String
myColName = Left(Range(0, colNum).Address(False, False), _
1 - (colNum > 10))
End Function
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
187917 次 |
最近记录: |