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

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

问题描述

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

列字母列号
A1
B2
C3
AA27
AB28
AC29

MultiAB2Num函数定义

Option Explicit

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

使用示例

debug.Print MultiAB2Num("AB")
 '结果:28 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值