Excelマクロの練習⑪(シートの指定)

wp-datacare

今回も シートの指定を行う練習問題です。

今回は以下の条件で作成します。それぞれ以前に解説しています。
  ・シートを変数に格納
  ・Withステートメントを使用

練習用のファイルはこちらからダウンロードできます。

過去に使用した練習問題⑧を少し改造しています。

元データのある一覧と「売上額合計」を入力するシートが分かれています。

シート「機種一覧」にあるデータ「売上額合計」を取得します。
取得した売上額合計を シート「合計」のセルに入力します。

模範解答は以下のとおりです。
(ダウンロード用できるExcelブックにも模範解答はあります。)

このコードを実行すると以下のようになります。

コードの内容の詳細解説は、以前に投稿した「Excelマクロの練習⑧」と同じです。

機種の一覧のシート と 売上額を入力するシート が分かれています。
そのため、セルの操作の部分にシートの指定を行う必要があります。
さらに今回は、シートを変数に格納しています。

シート「機種一覧」用のシート用に wsKisyu をWorksheet型で宣言します。
  Dim wsKisyu As Worksheet

次に wsKisyu に Worksheets("機種一覧") を格納します。
この時、シート(オブジェクト)の格納には Set が必要です。
  Set wsKisyu = Worksheets("機種一覧")

これらを行う事で以下のようになります。
Worksheets("機種一覧").Cells(i, 3).Value → wsKisyu.Cells(i, 3).Value

シート「売上」も同じ要領です。Withステートメントを使用します。
  With wsUriage

この設定があるため With wsUriage ~ End With の間ではwsUriageを省略できます。
  wsUriage.Cells(j, 8).Value → .Cells(j, 8).Value

ちょっと長くなりましたが、今回の練習問題の注意する個所は以上です。

特定のシートを何か所も操作する場合は、Withステートメントを使って With wsUriage のようにすると、コードが簡略化できます。

ぜひ今回のテクニックをマスターしましょう。
今回の解説はここまです。

ABOUT ME
酒見 拓也
酒見 拓也
代表取締役
パチンコ企業向けにExcelマクロを使って業務の自動化、効率化のやり方を発信しています。 企業向けに「Excelマクロ研修」も行っています。
記事URLをコピーしました