【VBA】シート名の取得と変更をする方法【.Nameを使います】

嚯嚯go發表於2024-10-02

參考元:【VBA】シート名の取得と変更をする方法【.Nameを使います】
https://daitaideit.com/vba-sheet-name/

Sub TEST4()
  
  'アクティブシートのシート名を変更
  ActiveSheet.Name = "ABC"
  
  
  '2番目のシートのシート名を変更
  Sheets(2).Name = "ABC"
  
  
  'シートオブジェクト「Sheet2」のシート名を変更
  Sheet2.Name = "ABC"
  
  
  
End Sub

 
すべてのシート名を取得する
「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

シート名を連番に変更

「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

相關文章