【Excel VBA入門】はじめての文法|エクセル マクロ

文法編

「プログラムの書き方って難しそうでよくわからない」
「マクロのレコード記録で書かれている内容の意味を知りたい」

今回はこういった方を対象として、プログラミングの文法の基礎をご紹介いたします。
プログラミング言語の決まりの部分ですので、しっかりと学習をしておきましょう。

書き方の基本|コード入力の決まり事

最初にコード入力の基本をおさえましょう。
まずはこちらのコードをご覧ください。

Sub test1()
    Range("A1").Value = "こんばんは"
End Sub

3行でコードが構成されていますね。

1行目と3行目は、スタートとゴールを意味しています。
2行目は、マクロの中身にあたる部分です。

ひとつずつ見ていきましょう。

Sub test1()

Sub

コードを開始させるときに使います。
「ここから始めます」といった意味です。

test1

「マクロの名前」です。
ここは自分で決めることになります。
メールでいう件名みたいなイメージです。

()

「マクロの名前」のうしろに付ける決まりです。
マクロ名を入力した後にEnterを押すと自動的に入力されます。

上記では「マクロの名前」としてご紹介していますが、正確には「プロシージャ名」と呼びます。
プロシージャとは、処理を1つにまとめたものです。

End Sub

マクロを終了させるときに使います。
「ここで終了します」といった意味です。

上記の例の場合、「sub test1」と入力後にEnterを押すと、他は自動的に入力されます。全部を覚えて記述しなくてもいいんですね。

Range(“A1”).Value = “こんばんは”

こちらはマクロの中身にあたる部分です。
”セルA1の値に「こんばんは」を代入する”といった指示がされています。

中身の詳細については以下をご覧ください。

書き方の基本|VBAでよく使う文法3選

コードを記述するにあたって文法の型をあらかじめ知っておく必要があります。
まずはとてもよく使う3つの文法をご紹介しますので、しっかりとおさえておきましょう。

値を取得

オブジェクト名.プロパティ名

これではわかりにくかと思いますので、実際のコードを使ってご説明します。

Range("A1").Value

具体的にはこのような使い方をします。

Range(“A1”)

この部分では「セルA1」と記述しています。
「Range」とは「セル」を意味します。

.Value

つぎにこの部分は、「Value」つまり値を指しています。

この2つを合わせて「セルA1の値」と記述がされていることになります。

  • オブジェクト…操作の対象になる「モノ」
  • プロパティ…オブジェクトの特徴を示すもの
値を設定

オブジェクト名 . プロパティ名 = 値

これも具体例を用いてご説明します。

Range("A1").Value = "こんにちは"

Range(“A1”).Value

この部分は上でご説明した通りです。
セルA1の値」ですね。

= “こんにちは”

記号の「(イコール)」を使って値を代入しています。
上記の例では、文字列の”こんにちは”を代入しています。

ちなみに文字列を指定するときは記号のダブルクォーテーション(”)で文字をはさむ決まりになっています。

もし入力を忘れてしまった場合でもエラー表示が教えてくれます。
そんなに心配しなくても問題ありません。

動作を指示

オブジェクト名 . メソッド名

これも具体例を使ってご説明します。

Range("A1").clear

.clear

この部分がメソッド名にあたります。

「clear」の意味は「消す」ですね。
上記の例では、セルA1の値を「消す」といった記述がされています。

  • メソッド…オブジェクトに対して動作指示する命令のこと

【まとめ】かんたんなプログラミングを作ってみよう

よくつかう3つの文法をつかってエクセルで記述してみましょう。
以下のコードを記述してマクロの動作を見ながら順番に実行してみてください。

Sub first()
    Range("A1").value = "こんにちは"
End Sub
Sub second()
    Range("A1").clear
End Sub

いかがでしょうか。
期待する通りの動作となりましたでしょうか?

まずマクロの名前「first」で「セルA1に”こんにちは”と入力」しています。
つぎにマクロの名前「second」で「セルA1の値を消去」しています。

プログラミングの文法の基礎をつかった記述のご紹介でした。
今回は少し難易度が上がりましたが文法の基本となる部分ですので、何度か見返してしっかりと理解を深めておきましょうね。

タイトルとURLをコピーしました