大体でIT

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

大体でIT

Excel VBAで、シート名を取得したり変更するには、「.Name」を使います。シートの指定方法は、「アクティブシート」や「シートインデックス」、「シートオブジェクト」を使う方法がありますので、それぞれ解説していきます。シート名の取得や変更する方法について、マスターしていきましょう。

はじめに

この記事では、シート名を取得する方法と、変更する方法について、ご紹介します。

シート名を操作したい場合は、「.Name」を使うとできます。

シートを指定する方法として、次の3つの方法があります。

  • アクティブシートを指定
  • シートインデックスを使う
  • シートオブジェクトを使う

すべてのシート名を取得したり変更したい場合は、シートをループして操作します。

シート名の操作方法について、マスターしていきましょう。

では、シート名を取得する方法について、解説していきます。

この記事を読むメリット

  • シート名を取得したり変更する方法がわかります。

目次

シート名を取得する

シート名を取得してみます。

シート名を取得するには、「.Name」を使います。

シートを指定する方法は、3つあります。

  • アクティブシートを指定
  • シートインデックスを使う
  • シートオブジェクトを使う

それぞれの指定方法で、シート名を取得してみます。

アクティブシートからシート名を取得

アクティブシートからシート名を取得してみます。

アクティブシートのシート名を取得したい

アクティブシートのシート名を取得してみます

アクティブシートのシート名を取得するVBAコードです。

Sub TEST1()
  
  'アクティブシートのシート名を取得
  Debug.Print ActiveSheet.Name
  
End Sub

実行すると、アクティブシートのシート名を取得できます。

アクティブシートのシート名を取得できた

アクティブシートのシート名を取得できました

アクティブシートのシート名を取得できました。

シートインデックスを指定してシート名を取得

シートインデックスを指定してシート名を取得してみます。

シートインデックスは、シートの順番です。

シートインデックスはシートの順番

シートインデックスは、シートの順番です

2番目のシートのシート名を取得してみます。

2番目のシート名を取得したい

2番目のシートのシート名を取得してみます

2番目のシートのシート名を取得するVBAコードです。

Sub TEST2()
  
  '2番目のシートのシート名を取得
  Debug.Print Sheets(2).Name
  
End Sub

実行すると、2番目のシートのシート名を取得できます。

2番目のシート名を取得できた

2番目のシートのシート名を取得できました

2番目のシートのシート名を取得できました。

シートオブジェクトを指定してシート名を取得

シートオブジェクトを指定してシート名を取得してみます。

シートオブジェクトはVBE画面で確認できます。

シートオブジェクト名

シートオブジェクトはVBE画面で確認できます

シートオブジェクト「Sheet2」のシート名を取得してみます。

「Sheet2」のシートオブジェクトのシート名を取得したい

シートオブジェクト「Sheet2」のシート名を取得してみます

シートオブジェクト「Sheet2」のシート名を取得するVBAコードです。

Sub TEST3()
  
  'シートオブジェクト「Sheet2」のシート名を取得
  Debug.Print Sheet2.Name
  
End Sub

実行すると、シートオブジェクト「Sheet2」のシート名を取得できます。

シート名を取得できた

シートオブジェクト「Sheet2」のシート名を取得できました

シートオブジェクト「Sheet2」のシート名を取得できました。

シート名を変更する

シート名の変更も同じように、「.Name」を使うとできます。

シートの指定方法は、次の3つがありますので、それぞれでやってみます。

  • アクティブシートを指定
  • シートインデックスを使う
  • シートオブジェクトを使う

では、やってみます。

アクティブシートのシート名を変更

アクティブシートのシート名を変更してみます。

アクティブシートのシート名を変更したい

アクティブシートのシート名を変更してみます

アクティブシートのシート名を変更するVBAコードです。

Sub TEST4()
  
  'アクティブシートのシート名を変更
  ActiveSheet.Name = "ABC"
  
End Sub

実行すると、アクティブシートのシート名を変更できます。

アクティブシートのシート名を変更できた

アクティブシートのシート名を変更できました

アクティブシートのシート名を変更できました。

シートインデックスを指定してシート名を変更

シートインデックスを指定してシート名を変更してみます。

2番目のシートのシート名を変更してみます。

2番目のシート名を変更したい

2番目のシートのシート名を変更してみます

2番目のシートのシート名を変更するVBAコードです。

Sub TEST5()
  
  '2番目のシートのシート名を変更
  Sheets(2).Name = "ABC"
  
End Sub

実行すると、2番目のシートのシート名を変更できます。

2番目のシート名を変更できた

2番目のシートのシート名を変更できました

2番目のシートのシート名を変更できました。

シートオブジェクトを指定してシート名を変更

シートオブジェクトを指定してシート名を変更してみます。

シートオブジェクトを使ってシート名を変更したい

「Sheet2」のシートオブジェクトのシート名を変更してみます。

シートオブジェクトを使って、シート名を変更してみます

シートオブジェクト「Sheet2」のシートは、こちらになります。

シートオブジェクト「Sheet2」のシート名を変更します

シートオブジェクト「Sheet2」のシート名を変更するVBAコードです。

Sub TEST6()
  
  'シートオブジェクト「Sheet2」のシート名を変更
  Sheet2.Name = "ABC"
  
End Sub

実行すると、シート名を変更できます。

シート名を変更できた

シート名を変更できました

シート名を変更できました。

すべてのシート名を取得する

すべてのシート名を取得するには、シートをループして取得します。

シートをループしてシート名を取得

シートをループしてシート名を取得するVBAコードです。

「For~Next」を使った場合は、こんな感じになります。

Sub TEST7()
  
  'シートをループ
  For i = 1 To Sheets.Count
    'シート名を取得
    Debug.Print Sheets(i).Name
  Next
  
End Sub

最終シートまでをループする、という感じです。

「For Each~Next」を使った場合は、次のようなVBAコードとなります。

Sub TEST8()
  
  Dim A
  'シートをループ
  For Each A In Sheets
    'シート名を取得
    Debug.Print A.Name
  Next
  
End Sub

では、すべてのシートをループして、シート名を取得します。

シートをループしてシート名を取得

すべてのシートをループして、シート名を取得します

実行すると、すべてのシート名を取得できます。

シート名を取得できた

すべてのシート名を取得できました

すべてのシート名を取得できました。

シート名を連番に変更

シート名を連番に変更するというのをやってみます。

複数のシート名を変更したい場合は、先ほどと同じようにシートをループして、変更していきます。

シートをループして連番に変更

シートをループして、シート名を連番に変更するVBAコードです。

「For~Next」を使った場合のVBAコードです。

Sub TEST9()
  
  'シートをループ
  For i = 1 To Sheets.Count
    'シート名を変更
    Sheets(i).Name = i
  Next
  
End Sub

最終シートまでをループするという感じです。

「For Each~Next」を使った場合は、次のVBAコードになります。

Sub TEST10()
  
  Dim A
  i = 0
  'シートをループ
  For Each A In Sheets
    i = i + 1
    A.Name = i 'シート名を変更
  Next
    
End Sub

すべてのシートをループして、シート名を変更します。

シートをループしてシート名を変更

すべてのシートをループして、シート名を変更します

実行すると、シート名を連番に変更できます。

シート名を連番にできた

シート名を連番に変更できました

シート名を連番に変更できました。

おわりに

この記事では、シート名を取得する方法と、変更する方法について、ご紹介しました。

シート名を操作したい場合は、「.Name」を使うとできます。

シートを指定する方法として、次の3つの方法があります。

  • アクティブシートを指定
  • シートインデックスを使う
  • シートオブジェクトを使う

すべてのシート名を取得したり変更したい場合は、シートをループして操作します。

シート名の操作方法について、マスターしていきましょう。

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

関連する記事から探す

カテゴリから探す

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

サイト内を検索する

↓キーワードを入力する

アーカイブから探す