Private Function getColName(ByVal numb As Long) As String If numb < 0 Or numb > 26 * 10 - 4 Then MsgBox "数值不在范围之内!" getColName="" Exit Function End If If numb > 26 Then Dim iTmp As Integer, bytTmp As Byte iTmp = Fix(numb / 26) bytTmp = numb Mod 26 If bytTmp = 0 Then getColName = Chr(64 + iTmp) & "Z" Else getColName = Chr(64 + iTmp) & Chr(64 + bytTmp) End If Else getColName = Chr(64 + numb) End If End Function '调用: Private Sub Command1_Click() MsgBox getColName(Val(Text1.Text)) End Sub
1->A
2->B
3->C
....
If numb < 0 Or numb > 26 * 10 - 4 Then
MsgBox "数值不在范围之内!"
getColName=""
Exit Function
End If
If numb > 26 Then
Dim iTmp As Integer, bytTmp As Byte
iTmp = Fix(numb / 26)
bytTmp = numb Mod 26
If bytTmp = 0 Then
getColName = Chr(64 + iTmp) & "Z"
Else
getColName = Chr(64 + iTmp) & Chr(64 + bytTmp)
End If
Else
getColName = Chr(64 + numb)
End If
End Function
'调用:
Private Sub Command1_Click()
MsgBox getColName(Val(Text1.Text))
End Sub