スタンダード 模擬問題

Excel VBA スタンダード 模擬問題 ② 2章-6

以下のコードはオブジェクト変数を用いて、シートの追加やアクティブシートを指定するマクロである。

マクロ実行後のアクティブシートのシート名を解答しなさい。

なおオブジェクト変数「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

     前へ      次へ

Translate »