以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。
マクロ実行後のアクティブシートのシート名を解答しなさい。
なおオブジェクト変数「ws1」に格納されたシートの名前は「Sheet1」である。
Sub Exam1()
Dim ws1 As Worksheet , ws2 As Worksheet
Set ws1= ActiveSheet
Set ws2 = Worksheets. Add
ws1. Activate
ws2. Name = “Total”
End Sub
正解
sheet1
解説
オブジェクト変数を使用し、ws1がアクティブシートと設定する。
その後ワークシートを挿入するとアクティブシートは追加シートに自動で変わってしまいます。
追加シートにシート名をつけることで混乱をさけ、誤りなくシートを指定するためにシート名をつける処理を行います。
【アクティブシートの変遷】
①最初に指定したシ―ト
②追加したシートに変わる
③最初に指定したシートをアクティブにする
*②で追加したシートのシート名をつける
【コード解説】
Sub Exam1()
Dim ws1 As Worksheet , ws2 As Worksheet
Set ws1= ActiveSheet
・・・アクティブシートを変数に代入する。
Set ws2 = Worksheets. Add
・・・シートを一枚追加し変数に代入する。
ws1. Activate
・・・最初に指定したws1のシートをアクティブにする
ws2. Name = “Total”
・・・追加したシートのシート名をつける。 シート名を設定するだけのときはActivesheet変更はありません。
End Sub