【エクセルマクロ】名前の定義の範囲を自動変更:使用例3選

エクセルマクロ:名前定義の参照範囲を変更するアイキャッチ ExcelVBA

エクセルマクロで、名前の定義の参照範囲を自動変更するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

名前の定義の参照範囲を変更(横に可変)

以下のマクロを実行すると、名前の定義の範囲を一括変更します。


Sub 名前の定義の範囲変更()

Dim Last_Clm As Long

    '1行目の最終列を取得
    Last_Clm = Cells(1, Columns.Count).End(xlToLeft).Column

    '名前定義の参照範囲を変更
    ActiveWorkbook.Names.Add Name:= _
           "都道府県名", RefersToLocal:= _
              Range(Cells(1, 1), Cells(1, Last_Clm))

End Sub

 

マクロ実行前

セルA1:E1に「都道府県名」という名前定義を作成します。


 

セルF1:G1にデータを追加します。

追加した2つのデータも「都道府県名」という名前定義の範囲に

自動で入れたいと思います。


 

マクロ実行後

名前定義の参照範囲を、セルA1:G1に自動で変更できました。


 

名前の定義の参照範囲を変更(縦に可変)

以下のマクロを実行すると、名前の定義の範囲を一括変更します。


Sub 名前の定義の範囲変更()

Dim Last_Row As Long

    'A列の最終行を取得
    Last_Row = Cells(Rows.Count, 1).End(xlUp).Row

    '名前定義を再作成
    ActiveWorkbook.Names.Add Name:= _
           "都道府県名", RefersToLocal:= _
              Range(Cells(1, 1), Cells(Last_Row, 1))

End Sub

 

マクロ実行前

セルA1:A5に「都道府県名」という名前定義を設定します。


 

セルA6:A7にデータを追加します。

追加した2つのデータも「都道府県名」という名前定義の範囲に、

自動で入れたいと思います。


 

マクロ実行後

名前の定義の参照範囲を、セルA1:A7に変更できました。


 

名前の定義の参照範囲を変更(複数)

以下のマクロを実行すると、複数の名前定義の範囲を一括変更します。


Sub 名前の定義の範囲変更()

Dim Last_Clm As Long
Dim i As Long

    '1~3行目をループ
    For i = 1 To 3

        '各行の最終列を取得
        Last_Clm = Cells(i, Columns.Count).End(xlToLeft).Column
    
        '名前定義の参照範囲を変更
        ActiveWorkbook.Names.Add Name:= _
               Cells(i, 1), RefersToLocal:= _
                  Range(Cells(i, 1), Cells(i, Last_Clm))

    Next i

End Sub

 

マクロ実行前

シート内に3つの名前定義を設定します。

A列を「名前」、B列以降を参照範囲にしています。


 

F列以降にデータを追加します。

追加したデータを名前定義の範囲に、自動で含めたいと思います。


 

マクロ実行後

3つの名前定義の参照範囲を、まとめて変更できました。


 
データが増減したタイミングで、マクロを実行すると参照範囲を自動変更できます。
 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】シートの追加・削除を自動化:超便利12選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!