大体でIT
大体でIT
Excel VBAで、シートを選択する方法は3つあって、「シート名」と「シートインデックスを」、「シートオブジェクト」を使う方法になります。複数シートを選択したい場合は「.Select」の引数に「False」を使うか、「配列」を使うとできます。シートの選択方法について、マスターしていきましょう。
この記事では、シートを選択する方法について、ご紹介します。
1つのシートを選択する方法として、3つの方法があります。
- シート名を使う
- シートインデックスを使う
- シートオブジェクトを使う
複数のシートを選択したい場合は、次の2つの方法があります。
- 「.Select」の引数に「False」を入力
- 配列「Array」を使う
シートの選択と似たもので、「.Activate」があります。
「.Activate」を使えば、非表示シートもアクティブにすることができます。
シートの選択方法について、マスターしていきましょう。
では、シートを選択する方法について、解説していきます。
- シート名を使う
- シートインデックスを使う
- シートオブジェクトを使う
Sub TEST1()
'シート名で選択
Sheets("Sheet2").Select
End Sub
実行すると、シート名を使って、シートを選択できます。
「シート名」を使って、シートを選択
次は、シートインデックスを使って、シートを選択してみます。
シートインデックスはシートの順番
シートインデックスを使って、シートを選択してみます。
「2番目」のシートを選択する
左から「2番目」のシートを選択するVBAコードです。
Sub TEST2()
'シートインデックスで選択
Sheets(2).Select
End Sub
3つ目の方法で、シートオブジェクトを使って、シートを選択してみます。
シートオブジェクト名は、VBE画面で確認できます。
シートオブジェクト名はVBE画面で確認
シートオブジェクトを使って、シートを選択してみます。
シートオブジェクトを使ってシートを選択
シートオブジェクトの「Sheet2」を選択するVBAコードです。
Sub TEST3()
'シートオブジェクトで選択
Sheet2.Select
End Sub
実行すると、シートオブジェクトを使って、シートを選択できます。
シートオブジェクトを使って、シートを選択できました。
シートを複数選択する方法として、次の2つの方法があります。
- 「.Select」の引数に「False」を使う
- 配列を使う
Selectの引数に「False」を入力して、複数シートを選択するVBAコードです。
Sub TEST4()
Sheets("Sheet1").Select 'Sheet1を選択
Sheets("Sheet2").Select False 'Sheet2も選択
End Sub
実行すると、最初に「Sheet1」のシートが選択されます。
「Sheet1」を選択
さらに実行すると、「Sheet1」を選択したままで、「Sheet2」のシートを選択できます。
「Sheet1」を選択したまま「Sheet2」を選択
「Sheet1」と「Sheet2」の複数シートを選択できました。
配列を使って、複数シートを選択するVBAコードです。
Sub TEST5()
'Sheet1とSheet2を選択
Sheets(Array("Sheet1", "Sheet2")).Select
End Sub
実行すると、「Sheet1」と「Sheet2」のシートを選択できます。
「Sheet1」と「Sheet2」のシートを選択できた
「Sheet1」と「Sheet2」のシートを選択できました。
シートの複数選択を解除するには、任意のシートを選択すると、解除することができます。
複数シートを選択しておく
任意のシートを選択で、複数選択を解除することができます。
任意のシートを選択で、複数選択を解除
Sub TEST6()
'任意のシートを選択すると、複数選択を解除
Sheets("Sheet1").Select
End Sub
任意のシートを選択して、複数選択を解除できました。
「.Select」と似たVBAコーで、シートをアクティブにする「.Activate」があります。
「.Activate」を使って、シートをアクティブにするVBAコードです。
Sub TEST7()
'Sheet2をアクティブにする
Sheets("Sheet2").Activate
End Sub
「Sheet2」をアクティブ
「.Select」と「.Activate」の違いは、次の通りです。
- アクティブシートは1つのみ
- 「.Activate」は非表示シートもアクティブにできる
選択とは違い、アクティブシートは1つのみになります。
アクティブシートは1つのみ
なので、複数シートを選択しているんですけど、アクティブシートは、一番左のシートになります。
「.Activate」で非表示シートもアクティブにできる
「.Activate」は、非表示シートもアクティブにすることができます。
「.Select」では非表示シートは選択できません。
非表示シートは「.Select」できない
非表示シートの「Sheet2」を選択するVBAコードです。
Sub TEST8()
'非表示の場合はエラー
Sheets("Sheet2").Select
End Sub
こんな感じで、「.Select」では非表示シートは選択できません。
「.Activate」を使う
「.Activate」を使って、非表示シートをアクティブにして、値を入力するVBAコードです。
Sub TEST9()
'非表示でもアクティブにできる
Sheets("Sheet2").Activate
Range("A1") = "ABC" 'アクティブシートに値を入力
End Sub
値が入力できたかを確認したいので、Sheet2を表示して確認してみます。
非表示シートだったSheet2に、値を入力できていることがわかります。
この記事では、シートを選択する方法について、ご紹介します。
1つのシートを選択する方法として、3つの方法があります。
- シート名を使う
- シートインデックスを使う
- シートオブジェクトを使う
複数のシートを選択したい場合は、次の2つの方法があります。
- 「.Select」の引数に「False」を入力
- 配列「Array」を使う
シートの選択と似たもので、「.Activate」があります。
「.Activate」を使えば、非表示シートもアクティブにすることができます。
シートの選択方法について、マスターしていきましょう。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。