VBA实现列号与列名转换

自用

'列号转换为列名
Public Function NumToChr(PureNum As Integer) As String
    If PureNum Mod 26 = 0 Then
        NumToChr = VBA.IIf(PureNum \ 26 = 1, "", VBA.Chr(PureNum \ 26 + 63)) & "Z"
    Else
        NumToChr = VBA.IIf(PureNum \ 26 = 0, "", Chr(PureNum \ 26 + 64)) & Chr(PureNum Mod 26 + 64)
    End If
End Function
 

混混K提供

'列号转列标
Function Num2Col(ByVal colNum As Long) As String
Dim Str$, N&, I&, T&, Result$
Str = UCase("abcdefghijklmnopqrstuvwxyz")
T = Len(Str)
Do While colNum > T
    I = colNum Mod T
    If I = 0 Then
        I = T
        colNum = Int(colNum / T) - 1
    Else
        colNum = Int(colNum / T)
    End If
    Result = Mid(Str, I, 1) & Result
Loop
Result = Mid(Str, colNum, 1) & Result
Num2Col = Result
End Function

//【话唠】混混K®
'列标转列号
Function Col2Num(ByVal colStr As String) As Long
Dim N&, I&, T!
colStr = UCase(colStr)
T = Len(colStr)
For N = 1 To Len(colStr)
    I = I + (Asc(Mid(colStr, N, 1)) - 64) * (26 ^ (T - N))
Next N
Col2Num = I
End Function

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值