1. ホーム
  2. vba

列名からExcelの列番号

2023-10-25 13:46:52

質問

Excelマクロを使用して、Excelの列名から列番号を取得する方法は?

どのように解決するには?

これが欲しいのでは?

列名から列番号へ

Sub Sample()
    ColName = "C"
    Debug.Print Range(ColName & 1).Column
End Sub

編集 : 欲しいものの逆も含めて

列番号から列名へ

Sub Sample()
    ColNo = 3
    Debug.Print Split(Cells(, ColNo).Address, "$")(1)
End Sub

フォローアップ

<ブロッククオート <ブロッククオート <ブロッククオート

例えば、一番上のセルC(1,1)に給与欄がある場合、ファイルを変更して給与欄を他の場所、例えばF(1,1)に移動すると、コードを修正しなければならなくなるので、給与をチェックして列番号を見つけ、その列番号に従って残りの処理をするコードが欲しいです。

このような場合、私は .FIND 以下の例を参照してください。

Option Explicit

Sub Sample()
    Dim strSearch As String
    Dim aCell As Range

    strSearch = "Salary"

    Set aCell = Sheet1.Rows(1).Find(What:=strSearch, LookIn:=xlValues, _
    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False)

    If Not aCell Is Nothing Then
        MsgBox "Value Found in Cell " & aCell.Address & _
        " and the Cell Column Number is " & aCell.Column
    End If
End Sub

スナップショット