標題:
[發問]
EXCEL 數字轉成欄位
[打印本頁]
作者:
Genie
時間:
2015-3-19 12:09
標題:
EXCEL 數字轉成欄位
我在微軟的頁面找到一個程式是可以將數字轉換成欄位
例如:1=A、5=E、26=Z、52=AZ……
但這個程式有點小問題,像 677 應該為 "ZA",但卻顯示為 "Y["
以及三個英文以上的欄會顯示不出來,例如 AAA 欄
請問以下的程式我該如何改呢?
謝謝∼
Function ConvertToLetter(iCol As Integer) As String
Dim iAlpha As Integer
Dim iRemainder As Integer
iAlpha = Int(iCol / 27)
iRemainder = iCol - (iAlpha * 26)
If iAlpha > 0 Then
ConvertToLetter = Chr(iAlpha + 64)
End If
If iRemainder > 0 Then
ConvertToLetter = ConvertToLetter & Chr(iRemainder + 64)
End If
End Function
複製代碼
作者:
stillfish00
時間:
2015-3-19 13:21
回復
1#
Genie
Function ConvertToLetter(iCol As Integer) As String
ConvertToLetter = Replace(Cells(1, iCol).Address(False, False), "1", "")
End Function
複製代碼
作者:
Genie
時間:
2015-3-19 13:49
回復
2#
stillfish00
程式使用起來沒有問題
非常感謝!!!
作者:
GBKEE
時間:
2015-3-20 07:34
本帖最後由 GBKEE 於 2015-3-20 08:19 編輯
回復
3#
Genie
這也可以,適用所有Excel版本
Function ConvertToLetter(iCol As Double) As String
If iCol <= Rows.Count * Columns.Count Then
ConvertToLetter = Split(Cells(iCol).Address, "$")(1)
Else
ConvertToLetter = iCol & " 超出工作表範圍"
End If
End Function
複製代碼
作者:
xmi
時間:
2015-3-20 21:31
回復 Genie
stillfish00 發表於 2015-3-19 13:21
請問這個是否用於"VBAProject"內? 我paste到"VBAProject"內, 但不能沒有出現預定的result....
作者:
Genie
時間:
2015-4-9 13:54
回復
4#
GBKEE
這個程式測試過也沒有問題
謝謝!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)