【Excel VBA入門】基本操作~変数宣言・if文(条件分岐)・for文(繰り返し)・セル指定~

Excel VBA

今回はExcel VBAの入門として、以下の基本的な処理について紹介します。

 ①変数宣言
 ②if文(条件分岐)
 ③for文(繰り返し)
 ④型変換(キャスト)
 ⑤セル指定
 ⑥メッセージボックスの表示

サンプル

ExcelのA1からA10のセルのうち、A1,A3,A5,A7,A9のセルの値の合計値を表示するコードです。
以下の画像の場合、100+102+104+106+108の計算をするということになります。

変数宣言

「この変数を使います!」という感じで、数字や値を格納するために変数を宣言します。
変数宣言の方法は、以下の通りです。

サンプルも同じようにつけています↓

Dim i As Integerの場合、変数名はi、変数の型がIntegerとなります。
そのため、gokei も syutoku も変数の型はIntegerになります。
Dim s As Stringの場合、変数名はs、変数の型はStringになります。

変数の型とは何なのか?Integerとは?Stringとは?
説明していきます。

まず、変数の型とは、変数にどのような値を入れるのかを指定するものです。
変数は、文字や数値など様々な種類の値を入れることができます。

例えば、
ある変数を掛け算で2倍にさせる場合、その変数が数値しか入らない場合、2倍できます。
その一方、その変数が文字しか入らない場合、2倍できません。なぜならその変数を数値として見ていないからです。

Integerは、-32,768 ~ 32,767 の整数を入れることができる型。
Stringは、文字列を入れることができる型になります。

For ~ Next (繰り返し)

同じ処理を繰り返しさせたい場合、同じ処理を何度も書くのは面倒なので、For文を使います。

何回処理を繰り返すのか。それは、(整数2) – (整数1) + 1回だけ、処理を繰り返します。
サンプルを例とすると、
For i = 1 To 10 なので、10 – 1 + 1 = 10回処理を繰り返していることになります。

if ~ End if (条件分岐)

「この場合は、処理をしてほしくない」というときは、if文を使って条件分岐をさせましょう。

サンプルでは、iが奇数の時に通る処理を書いています。

If i Mod 2 = 1 Then は、「iを2で割った時の余りが1のときに」という意味です。
Modは、割った時の余りを調べるのに使います。
奇数は、任意の整数を2で割った時の余りが1になる整数なので、上記のように書いています。

型変換(キャスト)

Integerのように、数値が入っている変数を途中で文字列の型として見るということができます。
サンプルでは、以下のように使っています。

sはstring型、iはInteger型です。
型が異なっているので、この処理をするのはできないのでは?と思われますが、
これを文字列にするために、CStr(i)で、iを一時的に、文字列として扱っています。

一方、CIntのように、文字列をIntegerにする型変換もあります。

指定したセルにある値を取得する(Range)

ここのセルの値を取得したい場合は、Rangeを使います。

サンプルでは、syutoku = Range(“s”)と書いています。
i = 1の時、sには、”A1″という値が入っているので、A1セルの値を取得しています。
変数を使わずとも、syutoku = Range(“A1”)で値を取得できます。

メッセージボックス

(メッセージボックスに表示したい値)は変数のほか、文字列も可能です。

その他

VBAを実行すると、VBAに書いた内容を画面に表示しながら実行していっています。よく見ると。

しかし、もっと早く処理をするためには、VBAに書いた内容を画面に表示させない方が早いです。

処理速度を上げるために、Excelの画面更新を停止することが有効です。
長いコードを書く際には上記の1文を入れておくことをお勧めします。

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