【初心者】誰でも分かるExcelマクロ【VBA】~セルの指定①~
Part①で開発タブおよびコード入力画面について触れてきましたが、
本パートではセルの指定方法について解説致します。
まずは、前回解説した「標準モジュール」に下記のようにコードを入力する。
Sub Sample() ⇐ ※ Sampleは好きな文字で大丈夫です。(このマクロ構文の題名になります)
上記のSample 部分は日本語でも走らせることは可能ですが、今後のためにもローマ字表記の名前にする方が良いです。
Subと()は必須になります。Sub Sample()を入力した段階でEnterキーを押すと下記のEnd Subは自動で表記されます。(※因みに書き込む際は大文字・小文字はどちらでも大丈夫です)
上記のSub()~End Subの間に書き込んだコードを実行するのが、マクロとなります(※Sub()~End Subまでを一塊で「プロシージャ」と呼びます)。
この時点で「開発」タブの「マクロ」にBook1のModule1に「Sample」というマクロがあることが認識されています。(※このまま右上の実行を押してもマクロは実行されません)
マクロを実行するためには、「セキュリティの警告」を解除しなければなりません。
こちらは、マクロを記入したファイルを開き直す、または移動した際にも必ず表示されますので、「コンテンツの有効化」→「はい」を押して、マクロを有効化して下さい。
※ご自身で入力したマクロに関しては、パソコン等への危険性はありませんので、安心してください。
セキュリティの警告を解除しますと下記のようにマクロの表記がSubプロシージャの名称のみとなります。
ここからSub()~End Subの間に入力する「セルの指定」のコードについて解説します。
セルの指定方法は多数存在しますが、以下のスタンダードな2種類の方法をご紹介致します。
- Cells(1,1)
- Range(“A1”)
上記は表記の仕方が違うだけで、どちらも同じ位置のセルを指定しています。
① Cells:Cellsの後に(行,列)を入力 ※行列の値は数値を入力
② Range:Rangeの後に(”列行”)を入力 ※列はアルファベット、行は数値を入力
※CellsやRangeを「オブジェクト」と呼びます。
上記のままでは、ExcelのA1セルに対してなにをするかが決まっていません。
CellsやRangeオブジェクトの後ろに.Selectのように.(ドット)~~と入力します。
この.Select(選択)、.Copy(複製)、.Paste(貼付け)を「メソッド」と呼びます。
「メソッド」は非常に多くのコードが存在していますので、ここではコピー&ペーストを解説します。
上記のように書き込むことでA1セルをコピーして、C3セルに貼り付けることができます。
※①の後にRange(”C3”).Pasteでは、クリップボードへの保管が終わらずに貼付けようとするため、エラーが出ます。そのため、Selectで貼付け先を指定した後に現在使用中のシート「ActiveSheet」に対して貼付けを行っています。
また、以下のような構文でも上記と同じ動作をします。
上記に対して、1文で済むので実際は下記の1.か2.のどちらかを使用すると良いです。
- 1. Cells(1,1).Copy Range(”C3”)
- 2. Cells(1,1)=Range(”C3”)
次回は、オブジェクトの前のシート選択とセルの複数・範囲指定について解説する予定です。
次回→【初心者】誰でも分かるExcelマクロ【VBA】~セルの指定②~
前回のページはこちら⇩
前回→【初心者】誰でも分かるExcelマクロ【VBA】~開発タブとコード入力画面の出し方~