Excel VBA ワークシートを選択(アクティブに)する

Excel VBAシート選択(アクティブに)するには「WorkSheet.Activate メソッド」「Sheet.Activate メソッド」を使います

 

構文

式.Activate

 

シート名を指定してシートを選択(アクティブに)する

aaaというシート名のシートを選択(アクティブに)する

Sub SheetActiveTest1()
  Sheets("aaa").Activate
End Sub

 

aaaというシート名のシートが存在しない場合はエラーになります
aaaというシート名が存在するか判断して、存在しない場合はaaaというシートを追加し選択(アクティブに)にする

Sub SheetActiveTest2()
  '変数の宣言
  Dim ws As Worksheet
  Dim SheetName As String
  Dim flag As Boolean

  '変数にシート名を入れておく
  SheetName = "aaa"
  '判定用の変数にFalseを代入しておく(一つもtrueにならなかった場合のため)
  flag = False

  'ワークシートが存在する限り繰り返す
  For Each ws In Worksheets
    'aaaというシート名がある場合は判定用変数にtrueを入れる
    If ws.Name = SheetName Then flag = True
  Next ws

  '判定用変数がFalseの場合はaaaというワークシートを最後に追加する
  If flag = False Then
    Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = SheetName
  End If

  'aaaというシート名を選択する
  Sheets(SheetName).Activate
End Sub

 

2番目にシートを選択(アクティブに)する

複数のシートが存在し、その中で2番目にあるシートを選択(アクティブに)する

Sub SheetActiveTest3()
  Sheets(2).Activate
End Sub

 

2つ以上のシートが存在しないとエラーになります
シートが2つ以上存在するか判断して、存在する場合は、その中で2番目にあるシートを選択(アクティブに)する

Sub SheetActiveTest4()
  If Sheets.Count >= 2 Then
    Sheets(2).Activate
  Else
    MsgBox "シートは2つ以上存在しません"
  End If
End Sub

 

< スポンサードリンク >



サブコンテンツ

このページの先頭へ