本文介绍了如何在Excel中利用内置的Columns函数获取特定列的地址,并通过split函数提取列字母。例如,Columns(27).Address返回的是"$AA:$AA",进一步处理后可以得到列字母"AA",这对于处理大量数据时非常有用。
摘要由CSDN通过智能技术生成
按照字符"$"进行拆分得到数组,索引为2的就是我们需要的列字母
Function ColLetter(Num As Long) As String
ColLetter = Split(Columns(Num).Address, "$")(2)
End Function
举例:Split(Columns(27).Address, "$")(2) 的结果是 AA
使用下
列
算法可以实现“ConvertToLetter”功能:
列
号
除以 27,然后将得到的整数赋值给变量“i”。
列
号
减去 i*26,然后将所得结果赋值给变量“j”。将得到的整数值
转换
为其对应的
字母
字符,“i”和“j”的取值范围将分别为 0 至 26。 例如:
列
号
为 30。
列
号
除以 27:30 / 27 = 1.1111,由“Int”函数四舍五入后得“1”。i = 1下一个
列
号
- (i ...
Function getColumnLetter(ByVal myCol As Integer) As String '
获取
单元格
列
标的
字母
Dim columnName As String
Dim k As Integer
k = (myCol - 1) \ 26
Select Case k
Case 0
Case E...
废话不多少先上代码:
'*****************************************************************************
'将
Excel
中
列数
转换
为列
名(如27
列
--->AA
列
)
'参数:var
列数
'返回:
列名
string
'******************************************************
Function ColumnLetterToNumber(ByVal col As String) As Integer
Dim i As Integer
Dim result As Integer
For i = 1 To Len(col)
result = result * 26 + (Asc(UCase(Mid(col, i, 1))) - 64)
Next i
ColumnLetterToNumber = result
End Function
使用方法:
Sub Test()
Dim columnLetter As String
Dim columnNumber As Integer
columnLetter = "B"
columnNumber = ColumnLetterToNumber(columnLetter)
MsgBox "Column " & columnLetter & " is column number " & columnNumber
End Sub
这个函数的原理是将每个
字母
转化为
数字
,然后将多个
数字
相加得到结果。例如,将
字母
列
号
"AB"转化为
数字
列
号
,首先将"A"转化为1,然后将"B"转化为2,最后将1和2相加得到结果3。
lao_nao: