重複の可能性:
列番号を文字に変換する VBA 関数?
列の文字を Z 列の前に配置したいのですが、Z 列の前にそれを取得するための多くの手法がありますが、Z の後では何も機能しないようです。そうする方法はありますか?
重複の可能性:
列番号を文字に変換する VBA 関数?
列の文字を Z 列の前に配置したいのですが、Z 列の前にそれを取得するための多くの手法がありますが、Z の後では何も機能しないようです。そうする方法はありますか?
別の方法:
Public Function ColumnLettersFromRange(rInput As Range) As String
ColumnLettersFromRange = Split(rInput.Address, "$")(1)
End Function
これは仕事をするはずです:
関数 ColumnName(rng As Range) As String Dim s As String s = rng.Address(False, False) ColumnName = Left(s, Len(s) - Len(Format(rng.Row, "0"))) 終了機能
ワークシート関数を使用して列の文字を計算することは、実際には良い計画ではありません。Peter Albert の VBA メソッドを使用すると、はるかに優れた方法になります。
楽しみのために、ワークシート関数を使用して作成してみました:/
A-ZZ
=IF(A1<27,CHAR(64+A1),IF(A1<703,CHAR(64+INT(A1/26))&CHAR(A1-INT(A1/26)+64),"TOO BIG!"))
A-XFD (動作しません)
=IF(A1<27,CHAR(64+A1),IF(A1<703,CHAR(64+INT(A1/26))&CHAR(A1-(INT(A1/26)*26)+64),CHAR(64+INT(A1/676))&CHAR(64+(INT(A1-(INT(A1/676)*676))/26))&CHAR(64+INT(A1-((INT(A1-(INT(A1/676)*676))/26)*26)))))
最後の 1 つは、アドレスの 3 番目の文字を解決しようとして失敗しました。