ワークシートを選択する、もう一つ選択する
ワークシートを選択した後で、追加でさらにシートをもう一つ選択するというような操作をVBAコードではどのように記述すればよいでしょうか。
ワークシートを選択する
ワークシートを選択するには
ワークシートを選択するには、SelectメソッドまたはActivateメソッドを使用して選択します。
これについてはワークシートを参照するでご説明しました。
そこで、今回はセレクトとアクティベートの違いがわかるコードの例をご紹介します。
1番目のシートを選択し、そのシートを選択したまま、3番目のシートを選択してみます。
これについてはワークシートを参照するでご説明しました。
そこで、今回はセレクトとアクティベートの違いがわかるコードの例をご紹介します。
1番目のシートを選択し、そのシートを選択したまま、3番目のシートを選択してみます。
複数シートを選択と特定シートのアクティベイト
1. まず最初の一番目のシートを選択して、ひとつ飛ばして3番目のシートを1番目のシートの選択を解除しないままの状態で3番目のシートを選択するというケースです。
Sub ワークシートの複数選択() Worksheets("1番目").Select Worksheets("3番目").Select Replace:=False Worksheets("3番目").Activate End Sub
2. WorksheetsオブジェクトのSELECT メソッドにはReplaceという引数があり、 普段は省略してselectだけで使うことが多いですが、 引数replaceにFalseを指定すると、 現在の選択範囲を拡張して指定したシートを追加選択することになります。
3.ふだん良く使うSelectメソッドでは、 引数を省略するので、この場合は、その前の選択シートは解除されて、最後に選択したシートを選択しています。
Sub ワークシートの選択() Worksheets("1番目").Select Worksheets("3番目").Select End Sub4. さて、1番目のシートだけを選択するとそれはアクティブになります。
その状態のままで3番目のシートも選択したいときは、次のように書きます。
単純にWorksheets("3番目").Select Replace:=Falseと記述すれば、選択が拡張されただけで、アクティブシートの移動はありません。
Sub ワークシートの選択追加() Worksheets("1番目").Select Worksheets("3番目").Select Replace:=False End Sub
アクティブシートを移動する
5. アクティブシートを移動したい時には、指定したシートをActivateメゾッドによってアクティブにしてやる必要があります。
Worksheet.Activate メソッドには、引数はなく、現在のシートを作業中のシートにするという意味があります。
Worksheets("3番目").Activate