7

重複の可能性:
列番号を文字に変換する VBA 関数?

列の文字を Z 列の前に配置したいのですが、Z 列の前にそれを取得するための多くの手法がありますが、Z の後では何も機能しないようです。そうする方法はありますか?

4

3 に答える 3

17

別の方法:

Public Function ColumnLettersFromRange(rInput As Range) As String

    ColumnLettersFromRange = Split(rInput.Address, "$")(1)

End Function
于 2012-12-10T02:49:31.637 に答える
7

これは仕事をするはずです:

関数 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")))
終了機能
于 2012-12-09T16:17:53.900 に答える
1

ワークシート関数を使用して列の文字を計算することは、実際には良い計画ではありません。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 番目の文字を解決しようとして失敗しました。

于 2012-12-09T16:55:26.880 に答える