大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、名前の定義を設定する方法について、ご紹介します。VBAで名前の定義を設定できると、時短になりますし、ミスも減ります。VBAを使って、名前を参照するのも簡単なので、「名前の定義」はどんどん使っていきましょう。

はじめに

この記事では、名前の定義を設定する方法について、ご紹介します。

名前の定義は、手動で設定するより、VBAで設定した方が楽です。

特に設定する名前が多い場合は、VBAを使うと、時短になります。

VBAで名前の定義を参照することも簡単なので、「名前の定義」をどんどん使っていきましょう。

では、名前の定義を設定する方法について、解説していきます。

この記事で紹介すること

  • 名前の定義を設定する方法
  • 名前の定義を参照する方法

目次から見たい項目へ移動すると便利ですよ。

目次

Excelで名前の定義を設定する

名前の定義を、Excelで設定する方法をご紹介します。

名前の定義は、「ブック単位」と「シート単位」の設定があります。

「ブック単位」で名前の定義を設定すると、その名前は、ブック内で一つだけになります。

「シート単位」だと、シート内の名前になりますので、他のシートで同じ名前を使うことができます。

名前の定義がされているシートをコピーすると、コピー先の名前は、「シート単位」の設定となります。

ブック単位で設定する

まず、ブック単位で名前を設定する方法です。

セルA1にブック単位で、名前の定義をしてみます。

やり方は、上の方の枠に好きな名前を入力するだけです。

「ブック単位」で名前の定義をする

ブック単位で名前の定義をする方法

「名前1」を入力してみました。

「ブック単位」で名前の定義をした結果

ブック単位で名前の定義をした結果

セルA1が、「名前1」となりました。

シート単位で設定する

次にシート単位で、名前の定義をしてみます。

シート単位の場合は、結構、面倒です。

名前の管理をクリック

まず、タブの「数式」から「名前の管理」をクリックします。

名前の管理をクリックする

名前の管理が表示される

「名前の管理」が表示されます。

名前の管理が表示される

次に、「新規作成」をクリックします。

新しい名前の画面

「新しい名前」の画面が表示されます。

新しい名前が表示されます

範囲からSheet1を選択

「範囲」から「Sheet1」を選択します。

範囲からSheet1を選択する

これで、「シート単位」で名前を定義できます。

名前と参照範囲を入力

後は、「名前」と「参照範囲」を入力します。

名前と参照範囲を入力する

OKをクリックします。

「シート単位」で名前の定義ができる

これで、「シート単位」で名前の定義ができます。

シート単位で名前の定義ができる

「シート単位」での名前の定義ができました。

見た目は、ブック単位と同じです。

名前の定義を使う

名前の定義の使い方は、数式「=」で参照してあげるか、直接、名前を入力するかで、できます。

ブック単位

ブック単位で設定した名前の定義を、参照してみます。

ブック単位で設定した名前の定義を参照した結果

「=名前1」という感じで、定義した名前だけが表示されます。

シート単位

次に、シート単位で設定した名前の定義を、参照してみます。

シート単位で設定した名前の定義を参照した結果

シート単位の場合は、「=Sheet1!名前1」というように、シート名まで表示されています。

こんな感じで、エクセルでは、名前の定義と参照ができます。

手動で、名前の定義をすると、結構、面倒くさいですよね。

名前の定義は、VBAですると、楽になります。

VBAで名前の定義を設定する

次は、VBAで「名前の定義」を設定する方法を、ご紹介します。

一つのセルに名前の定義を設定

まずは、一つのセルに名前の定義を、設定する方法です。

VBAコードは、こんな感じになります。

Sub TEST1()
    
    'ブック単位で「名前の定義」を設定する
    ActiveSheet.Range("A1").Name = "名前1"
    
End Sub

セルA1に、「名前1」という名前の定義をしています。

では、実行してみます。

一つのセルに名前の定義を設定

セルA1に名前を定義した結果

セルA1に、「名前1」という名前を定義することができました。

これは、「ブック単位」の設定になります。

セル範囲に名前の定義を設定

セル範囲に、名前を定義する方法を、ご紹介します。

VBAコードは、こんな感じになります。

Sub TEST2()
    
    'セル範囲に「名前の定義」を設定する
    ActiveSheet.Range("A1:C3").Name = "名前1"
    
End Sub

では、実行してみます。

セル範囲に名前の定義を設定

セル範囲に名前の定義をした結果

「セル範囲」に名前の定義を、設定することができました。

シート単位で設定する

次は、シート単位で、名前の定義を設定する方法です。

ワークシート「Sheet1」で「名前1」という名前を定義してみます。

Sub TEST3()
    
    'シート単位で「名前の定義」を設定する
    Worksheets("Sheet1").Range("A1").Name = "Sheet1!名前1"
    
End Sub

では、実行してみます。

シート単位で名前の定義を設定

シート単位で名前の定義をした結果

「名前1」という名前を定義できました。

見た目がブック単位と同じなので、わかりづらいです。

別シートから参照して確認してみます。

シート単位で設定されているか確認

シート単位で名前の定義がされているかを確認

シート名が表示されています。

ちゃんとシート単位で、名前の定義が設定されていることがわかります。

こんな感じで、VBAを使えば、簡単に名前を定義することができます。

VBAで名前の定義を使う

VBAで、名前の定義を使う方法を説明します。

名前を参照するのも、簡単です。

一つのセルの名前を参照

名前が一つのセルで、定義されている場合です。

次のように、名前を参照します。

Sub TEST4()
    
    'ブック単位の名前を参照する
    ActiveSheet.Cells(1, 1) = Range("名前1")
    
End Sub

「名前1」という名前を定義しておきました。

「名前1」を定義しておく

名前1を定義しておいた

では、別シートで実行してみます。

「名前1」を参照

名前1を参照した結果

「名前1」という名前を参照することができました。

セル範囲の名前を参照

次は、名前が「セル範囲」に定義されている場合です。

セル範囲の場合も、VBAコードは同じで、次のように入力します。

Sub TEST5()
    
    'セル範囲で定義された名前を参照する
    a = Range("名前1")
    
End Sub

あらかじめ、セル範囲を「名前1」として、定義しておきました。

セル範囲を「名前1」で定義しておく

セル範囲を名前1として定義しておいた

では、VBAコードを実行してみます。

セル範囲に定義した名前を参照

セル範囲に名前の定義をした名前1を取得した結果

配列に「名前1」のセル範囲を、格納することができました。

シート単位の名前を参照

シート単位で名前の定義をした名前を、参照する方法です。

ポイントは、Rangeの前に、「Worksheets(シート名).Range(名前)」というように、シート名まで記載することです。

シート単位の名前を、参照するVBAコードです。

Sub TEST6()
    
    'シート単位で設定された名前を参照する
    ActiveSheet.Cells(1, 1) = Worksheets("Sheet1").Range("名前1")
    
End Sub

ワークシート「Sheet1」に「名前1」という名前を「シート単位」で定義しておきました。

Sheet1にシート単位で「名前1」を定義しておく

Sheet1に名前1という名前をシート単位で定義した

では、VBAコードを実行してみます。

シート単位の名前を参照

シート単位で設定した名前を参照した結果

シート単位の名前を、参照することができました。

VBAで、名前の定義を参照することも、簡単です。

実務で名前の定義を設定する場合

実務で、名前の定義を設定する場合を考えてみました。

実務で名前の定義をする場合は、セルに入力された名前を使って、名前の定義する方が簡単です。

やってみます。

複数のセルに名前の定義を設定する

セルにあらかじめ、名前の定義で設定する、名前を入力していきました。

セルに定義したい名前を入力しておく

名前の定義を設定する名前をセルに入力しておく

この値を使って、セルに名前の定義をしていきます。

VBAコードは、こんな感じになります。

Sub TEST7()
    
    With ActiveSheet
        For i = 1 To 10
            '「名前の定義」を設定する
            .Cells(i, 2).Name = .Cells(i, 1)
        Next
    End With
    
End Sub

では、実行してみます。

名前の定義をした結果

セルに入力された値を名前の定義に使用した結果1
セルに入力された値を名前の定義に使用した結果2

「名前1」~「名前10」まで、名前の定義を設定することができました。

こんな感じで、セルにあらかじめ名前を入力してから、名前の定義をすると簡単に設定できます。

名前の定義も確認しやすいので、便利です。

おわりに

この記事では、名前の定義を設定する方法について、ご紹介しました。

名前の定義を、VBAで設定するとかなり楽になります。

エクセルで、手動でやると、結構、面倒ですからね。

VBAで、名前の定義を参照することも簡単なので、「名前の定義」をどんどん使っていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す