「プログラムの書き方って難しそうでよくわからない」
「マクロのレコード記録で書かれている内容の意味を知りたい」
今回はこういった方を対象として、プログラミングの文法の基礎をご紹介いたします。
プログラミング言語の決まりの部分ですので、しっかりと学習をしておきましょう。
書き方の基本|コード入力の決まり事
最初にコード入力の基本をおさえましょう。
まずはこちらのコードをご覧ください。
Sub test1() Range("A1").Value = "こんばんは" End Sub
3行でコードが構成されていますね。
1行目と3行目は、スタートとゴールを意味しています。
2行目は、マクロの中身にあたる部分です。
ひとつずつ見ていきましょう。
Sub test1()
Sub
コードを開始させるときに使います。
「ここから始めます」といった意味です。
test1
「マクロの名前」です。
ここは自分で決めることになります。
メールでいう件名みたいなイメージです。
()
「マクロの名前」のうしろに付ける決まりです。
マクロ名を入力した後にEnterを押すと自動的に入力されます。
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の値を消去」しています。
プログラミングの文法の基礎をつかった記述のご紹介でした。
今回は少し難易度が上がりましたが文法の基本となる部分ですので、何度か見返してしっかりと理解を深めておきましょうね。