Excel VBA(マクロ)で業務改善
作成スキルを修得しましょう
パチンコ業界に特化した内容です

VBAの練習5

使用するデータは A-004 です。

課 題

シート名「Sheet1」のB列の機種名を重複しないように、シート名「Sheet2」のJ列に機種名の一覧を作成して下さい。
合わせて「Sheet2」のK列に台数を表示させて下さい。
「VBAの練習4」の内容とほぼ同じですが、別シートへの書き出しです。
シートの指定では、Sheets(“Sheet2”).Select のようにセレクトを行わないで下さい。
シート名の記述方法はこちらを参考にして下さい。

ヒント
ヒントは「VBAの練習4」と同じです。
Range Cells にシート名の指定を行う必要があります。

解 答

解 説

シート名を指定するために Worksheets(“Sheet1”) としています。
Sheets (“Sheet1”) でも大丈夫です。

実際にシート名を記述するとコードが長くなります。
実務ではこのような記述のやり方は可読性が悪くなりますので変数を使用します。

変数を使用したのが下になります。

WS1の名前で変数を宣言します。型はワークシート用で Worksheet を使用します。
変数の型 Workbook・Worksheet・Range・object はオブジェクト型と呼びます。
Dim WS1 As Worksheet で変数を使う準備をしますが、WS1が シート名「Sheet1」なのか「Sheet2」なのかが分かりません。
そのため Set WS1 = Worksheets(“Sheet1”) とする必要があります。
Long型の変数では i = 15 としますが、オブジェクト型の場合は Set を付ける必要があります。

シート名に変数を使うとスッキリして可読性が上がります。