Option ExplicitFunction ColLetterToNumber(ByVal Letter As String) As Long Dim lNumber As Long Dim i As Long
Letter = UCase$(Letter)
For i = 1 To Len(Letter) lNumber = lNumber * 26 + (Asc(Mid$(Letter, i, 1)) - vbKeyA + 1) Next
ColLetterToNumber = lNumber End Function'测试' Private Sub Command1_Click() Dim i As Long Dim s As String Dim n As Long For i = 1 To 100 s = vaSpread1.ColNumberToLetter(i) n = ColLetterToNumber(s) Debug.Print i, s, n Next End Sub
也算帮过你了
fpspread 反倒实现不了?大侠们,该出手了!谢谢!!
Dim lNumber As Long
Dim i As Long
Letter = UCase$(Letter)
For i = 1 To Len(Letter)
lNumber = lNumber * 26 + (Asc(Mid$(Letter, i, 1)) - vbKeyA + 1)
Next
ColLetterToNumber = lNumber
End Function'测试'
Private Sub Command1_Click()
Dim i As Long
Dim s As String
Dim n As Long
For i = 1 To 100
s = vaSpread1.ColNumberToLetter(i)
n = ColLetterToNumber(s)
Debug.Print i, s, n
Next
End Sub
不知道fpspead控件还有啥更快捷的方法,像datagrid控件用DataGrid1.Columns.Item("名字").Caption就能实现,一句话搞定,那就完美了!