如何在vba中把数字列转成字母
4个回答
展开全部
ALt+F11,插入模块,插入如下代码
Private Function ColumnNum(ByVal a) As Long
Dim r
r = 0
If VarType(a) = vbString And Len(a) > 0 Then
a = UCase(a)
r = Asc(Left(a, 1)) - Asc("A") + 1
If Len(a) >= 2 Then
r = r * 26 + Asc(Mid(a, 2, 1)) - Asc("A") + 1
If Len(a) >= 3 Then
r = r * 26 + Asc(Mid(a, 3, 1)) - Asc("A") + 1
End If
End If
End If
ColumnNum = r
End Function
然后返回Excel,用函数=ColumnNum(需要转换的单元格)
即可实现数字列换成字母
Private Function ColumnNum(ByVal a) As Long
Dim r
r = 0
If VarType(a) = vbString And Len(a) > 0 Then
a = UCase(a)
r = Asc(Left(a, 1)) - Asc("A") + 1
If Len(a) >= 2 Then
r = r * 26 + Asc(Mid(a, 2, 1)) - Asc("A") + 1
If Len(a) >= 3 Then
r = r * 26 + Asc(Mid(a, 3, 1)) - Asc("A") + 1
End If
End If
End If
ColumnNum = r
End Function
然后返回Excel,用函数=ColumnNum(需要转换的单元格)
即可实现数字列换成字母
展开全部
以第20列为例,下面的代码可以得到列字母:
Msgbox Left(Columns(20).Address(columnabsolute:=False), InStr(Columns(20).Address(columnabsolute:=False), ":") - 1)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2023-02-20
展开全部
Function col_letter2(col As Integer) As String
col_letter2 = Split(Columns(col).Address(0, 0), ":")(0)
End Function
col_letter2 = Split(Columns(col).Address(0, 0), ":")(0)
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看你想要的是哪一种效果
Chr(数字)
cstr(数字)
Chr(数字)
cstr(数字)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询