【初心者】誰でも分かる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種類の方法をご紹介致します。

  1. Cells(1,1)
  2. 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】~開発タブとコード入力画面の出し方~

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA