VBA将EXCEL的列字母转换为列号

VBA将EXCEL的列字母转换为列号 问题描述MultiAB2Num函数定义使用示例 问题描述 在EXCEL中进行VBA宏的编写时,经常会遇到需要将EXCE

VBA将EXCEL的列字母转换为列号

  • 问题描述
  • MultiAB2Num函数定义
  • 使用示例

问题描述

在EXCEL中进行VBA宏的编写时,经常会遇到需要将EXCEL工作表的列字母(如A,B,C…)等转化为行号(如1,2,3…)的需求,仅给出一个列字母往往难以对单元格的位置形成一个直观的概念,这时需要将列字母转换为列号就好的多。
EXCEL列表示

列字母列号
A1
B2
C3
AA27
AB28
AC29

MultiAB2Num函数定义

Option ExplicitFunction MultiAB2Num(MultiAB As String) As LongDim n As Byte   '0-255Dim s As Long   '最大列数16384Dim i As Byten = Len(MultiAB)s = 0For i = 1 To ns = s + (Asc(Mid(MultiAB, i, 1)) - 64) * 26 ^ (n - i)Next iMultiAB2Num = s
End Function

使用示例

debug.Print MultiAB2Num("AB")'结果:28