将Excel中列数转为列号
2009-10-17 21:56 Format Deng 阅读(555) 评论(0) 收藏 举报一段将Excel中列数转为列号的VBA代码
1
Function NumToChar_26(Num As Double) As String
2
'--===Writen By FormatD
3
'将Excel中列数转为列号
4
Dim iMod As Integer, dInt As Double, sChar As String
5
'Application.Volatile
6
iMod = Num Mod 26
7
dInt = Num \ 26
8
If iMod > 0 Then
9
sChar = Split(Columns(iMod).Address(0, 0), ":")(0)
10
ElseIf dInt > 0 Then
11
dInt = dInt - 1
12
sChar = "Z"
13
End If
14
Do While dInt > 0
15
iMod = dInt Mod 26
16
dInt = dInt \ 26
17
If iMod > 0 Then
18
sChar = Split(Columns(iMod).Address(0, 0), ":")(0) & sChar
19
ElseIf dInt > 0 Then
20
dInt = dInt - 1
21
sChar = "Z" & sChar
22
End If
23
Loop
24
NumToChar_26 = sChar
25
End Function
Function NumToChar_26(Num As Double) As String2
'--===Writen By FormatD3
'将Excel中列数转为列号4
Dim iMod As Integer, dInt As Double, sChar As String5
'Application.Volatile6
iMod = Num Mod 267
dInt = Num \ 268
If iMod > 0 Then9
sChar = Split(Columns(iMod).Address(0, 0), ":")(0)10
ElseIf dInt > 0 Then11
dInt = dInt - 112
sChar = "Z"13
End If14
Do While dInt > 015
iMod = dInt Mod 2616
dInt = dInt \ 2617
If iMod > 0 Then18
sChar = Split(Columns(iMod).Address(0, 0), ":")(0) & sChar19
ElseIf dInt > 0 Then20
dInt = dInt - 121
sChar = "Z" & sChar22
End If23
Loop24
NumToChar_26 = sChar25
End Function

浙公网安备 33010602011771号