見出し画像

Excel VBA 基礎学習 第9回


第9回では、VBAの練習として「セルを移動するプログラム」の記述を行います。この回も「模写」を通して、VBAでどのように記述するのかを学習します。

第1章 VBAの練習

【目標】

  1. ワークシートを選択するプログラムを記述して実行できる。(第3回)

  2. アクティブシートを変更するプログラムを記述する。(第4回)

  3. セルを選択するプログラムを記述して実行できる。(第5回)

  4. アクティブセルを変更するプログラムを記述して実行できる。(第6回)

  5. セルに値を代入するプログラムを記述して実行できる。(第7回)

  6. セルの値を取得するプログラムを記述して実行できる。(第8回)

  7. セルを移動するプログラムを記述して実行できる。(第9回)

  8. 指定範囲を選択するプログラムを記述して実行できる。(第10回)

  9. 処理の選択を行うプログラムを記述して実行できる。(第11回)

  10. 処理の反復を行うプログラムを記述して実行できる。(第12回)

  11. セルの色、罫線、フォント、値を扱うプログラムを記述して実行できる。(第13回)


第1節 プロシージャ記述練習の方法と目標

第3回以降で行うVBAの練習は、第1回と第2回で作成した「vba1.xlsm」の標準モジュール「practice_1」に記述を行います。但し、ここでの記述では具体的な文法等には触れず、入力に慣れることを目標に学習を進めます。

第2節 セルを移動するプログラム

VBEを起動して「practice_1」モジュールに「sample7」プロシージャを作成して次のように入力します。

図1-1-1

一行目:移動前のセルに「起点」と入力
二行目:セルの移動を行うプログラム(今回の表題のプログラム)

一行目の入力は「Worksheets("Sheet1").Rnage("D10")」に続けて「.」ドット、「Value」、「半角スペース」、「=」、「半角スペース」、「"」ダブルクォーテーション、「起点」、「"」ダブルクォーテーションと入力します。

これにより、一行目ではワークシート「Sheet1」のセル「D10」に値として「起点」を設定(入力)することになります。

二行目は「Worksheets("Sheet1").Rnage("D10")」に続けて「.」ドット、「大文字のO」、「小文字のffset」、「( )」と入力し、( )の中に「1」「,」カンマ「0」と入力し、「)」の後にカーソルを移動して、最後に「.」ドット、「Select」を入力します。

二行目のプログラムではワークシート「Sheet1」のセル「D10」を指定した後、Offsetという設定を利用することで、ひとつ下のセル「D11」に移動することになります。
 
Offsetでは丸カッコの中を(縦方向に移動する数、横方向に移動する数)と指定することで起点とする座標を原点(0, 0)としてセルを移動できます。

今回のプロシージャではOffset(1, 0)としているので縦方向(下方向)に「1」移動することになります。

※上に移動する場合はマイナスの表現となります。左右の移動は右への移動はプラスの表記、左への移動はマイナスの表記となります。

プロシージャの記述が完了したら、デバッグタグの「VBAProjectのコンパイル」を実行します。

図1-1-2

この操作を行うときはカーソルが実行したいプロシージャに入っていることが必要です。

図1-1-3

記述内容に文法的なミスがなければコンパイルは完了です。続けて記述したプロシージャの実行を行います。カーソルが実行したいプロシージャに入っていることを確認してください。

図1-1-4

実行の操作は下キャプチャの実行ボタンで行います。

図1-1-5

実行結果は次の通りワークシート「Sheet1」のセル「D10」を基準にOffset(1, 0)の位置「縦方向でひとつ下」「横方向は移動なし」の個所にセルの選択位置が移動します。

図1-1-6


本記事(基礎学習 第9回)の内容は以上です。

ご案内:この記事の執筆者の別サイト

https://howahowablog.com/vba_books_recommendation5/



この記事が気に入ったらサポートをしてみませんか?