【初心者向け】Excel VBA(マクロ)繰り返し処理入門、For 文の使い方

シェアする

2019年1月28日に ZOOM でのオンラインセミナー開催致します!

30代半ばから税理士になった体験談セミナー

The following two tabs change content below.

松井 元(まつい はじめ)

静岡県三島市の松井会計事務所に勤務する理系税理士。 文理両方のスキルの融合を考えており、このブログは以下を中心に更新している。
●税金・会計に関すること
●IT(Excel、VBAなど)を使った業務効率化
●自分のこと(考え、私生活)

さらに詳細なプロフィールはこちら
松井会計事務所へのお仕事ご依頼・お問い合わせはこちら
税金・会計の無料メルマガはじめます

はじめてプログラミングを勉強している方が挫折しやすいのが、繰り返し(ループ)処理です。

同じことを何回も繰り返すというのはプログラミング独特の概念なので、最初はなかなか分かりません。

慣れるのにはある程度時間がかかります。

(私はかかりました。)

さて、今日は Excel VBA(マクロ)での繰り返し処理の入門編ということで、For 文の使い方をじっくり解説します!

VBA 習いたての人が繰り返し処理で挫折してしまったらもったいないと思うんですよね。。

Excel VBA は経理などの事務職では使えるツールなので、「繰り返し処理の壁」は突破してして頂きたいです。

それでは行ってみましょう!

レクタングル大 広告

1、繰り返し処理の題材

For 文を使うための題材を用意しますね。

最初、Excel シート上の A列の A1 ~ A10 に 1 〜 10 の番号がふってあるものとします。

題材

VBA を使ってこのシートのセル B1 〜 B10 に、次のように数字を並べたいと思います。

数字を並べる

VBA を使うために Alt + F11 を押して VBE(エディタ)を開きましょう。

VBE開く

そして、Alt → I → M を押して標準モジュール(VBA コードを記述するところ)を挿入しましょう。

真っ白なエディタが出てきます。

標準モジュール

ここに VBA コードを書き込みます。

上記の題材を使って VBA コードを書いて For 文の使い方を説明しますね!

2、For 文の使い方

今回の題材の場合だと、VBA コードは以下のようになります。

プロシージャ名(Sub の後)は test としました。

勉強を開始したばかりの方は、ぜひこれ↓ をそっくりそのままコピペして試して頂きたいです!

まずは For文のルールを覚えましょう!

For 文は次のように記述して使います。

For 変数 = 数値1 To 数値2
  繰り返したい処理
Next 変数

最初の行に For を記述し、最後の行に Next を記述します。

そして、For の行と Next の行で囲まれた間に繰り返したい処理を書き込みます。

さて、先に For 文を理解するためのポイントを書いておきますね。

ポイント1: 処理を何回繰り返したいか? をはっきりさせる
ポイント2: 最初(For の後)と最後(Next の後)の変数を同じにする
ポイント3: 繰り返し処理の法則を見つけ出す
ポイント4: 紙に図に書いてイメージを湧かせる

ポイント1: 処理を何回繰り返したいか? をはっきりさせる

For 文の最初の行では処理を繰り返す回数を指示します。

処理を繰り返す回数

まず、処理を何回繰り返したいか? をはっきりさせましょう!

今回の場合は、セル B1~B10 に数字を並べたいのですよね。

B1~B10に数字を並べる

とりあえず感覚的にでもかまわないので、「表示させる数字が10個だから、繰り返しの回数は 10回」と理解して下さい。

「変数」はその名のとおり変化します。

変数が 1 から 10 になるまで1つずつ変化させるという意味で次のように書きます。

For 変数 = 1 To 10

変数はどのような文字でもかまいません。

・アルファベット1文字、複数文字

・日本語1文字、複数文字

VBA で変数を使うときは、普通はアルファベットで書きます。

繰り返し処理の場合だと一文字の i、j、k を使うことが多いですかね!

今回は i を使っています。

変数iを使う

ポイント2: 最初(For の後)と最後(Next の後)の変数を同じにする

次のように書くことで、 i が 1 から 10になるまで 1つずつ増やして変化させるという意味になります。

zoom を使ったオンラインセミナー開催致します。
◆1/28 30代半ばから税理士になった体験談セミナー

お仕事のご依頼は、以下のリンク先にある個別のフォームよりお願い致します。
◆税務・会計 顧問
◆税務・会計のスポットコンサルティング
◆Excel シートのオーダーメイド
◆Excel、マクロ(Excel VBA) のマンツーマンレッスン
◆東亜大学通信制大学院(法学専攻) 入試対策コンサル
◆その他のスポットコンサルティング(当ブログを読み何かご相談したい事項が出てきた方に向けたサービス)

税金・会計についての無料メルマガをはじめます。配信をご希望させる方は以下のリンク先にあるフォームよりお願い致します
◆メルマガ登録

そして、最後の行には

と記述します。

For i = 1 To 10

Next i

上記の間に繰り返したい処理を書き込むことになるわけですね。

さて、ここで気を付けなければならないのは For の直後の変数と Next の直後の変数を同じにするということです。

変数を同じにする

今回の場合は i にしていますよね!

For 文を使うときは、最初に

For i = 1 To 10

と書いたらそのすぐ後に

Next i

と書いてしまいましょう。

そうすれば間違わずに済みます。

ポイント3: 繰り返し処理の法則を見つけ出す

さて、ここまでできたら For と Next 間に繰り返したい処理を書いていきます。

For i = 1 To 10
   繰り返したい処理
Next i

10回同じ処理を繰り返すことになります。

10回同じ処理を繰り返す

i が 1 のときに 1回目の処理

i が 2 のときに 2回目の処理




i が 10 のときに 10回目の処理

繰り返したい処理は For と Next の間の以下の部分になります。

繰り返したい処理

さて、上記の Cells(i, 1) には変数 i が入っていますよね。

先ほどお話ししたように i は 1 から 10 まで 1つずつ変化します。

そうなると、セルを表す Cells(i, 1) も i が 1 から 10 まで増えていくにしたがって、どのセルを示すか変わるんですね!

i = 1 のとき Cells(1, 1) (A1 のこと)

i = 2 のとき Cells(2, 1) (A2 のこと)




i = 10 のとき Cells(10, 1) (A10 のこと)

繰り返し図示

これ、i が増えるにしたがって i を使って表される他の要素も変化するということです。

これをしっかりイメージできるようになって頂きたいです!

Excel の場合、i の変化にともない操作するセルが1つずつ変わることが多いです。

iが1つずつ増える

さて、今回は、B列に 2、4、6、8、10、、、、と並べたかったわけですよね。

そうしたい場合にどうすれば i を使ってそれを実現できるか考えます。

そして、A 列の値 Cells(i, 1) を2倍すればいいんだ! って気付けることが大事なのです。

以下のように掛け算を書くことで、B列にA列の値を2倍した値を表示できます。

Cells(i, 2) = Cells(i, 1) * 2

ポイント4: 紙に図に書いてイメージを湧かせる

For と Next の間に記述する内容は、指定した回数だけ繰り返したいことであり、かつ i を使って実現できることにします。

なかなか最初は分かりにくいことなので、繰り返し処理を考えるときにイメージが湧くように紙に図を書くなりすると良いでしょう!

紙に書く

3、まとめ

For 文の基礎的な使い方について説明しました。

今回は i を 1から10まで変化させる VBA コードですが、必ず i を1からスタートさせなければならないわけではありません。

2などの他の数字からスタートすることもできます。

また、必ず i を1つずつ増やしていかなければならないわけでもありません。

2つずつ増やすことも、3つずつ増やすこともできます。

逆に減らすこともできます。

色々な使い方がある For 文ですが、今日お話しした内容が基礎の基礎です。

苦手意識を持ちやすい繰り返し処理も、基礎をしっかり身に付けて繰り返し練習すれば使えるようになります。

私もはじめてプログラミングをやったときには繰り返し処理がさっぱり分かりませんでしたが、

何回も練習するうちにわかるようになりましたよ!

Excel VBA についてのメニューも提供させて頂いておりますのでよろしければ ↓

◆Excel シートのオーダーメイド
◆Excel、マクロ(Excel VBA) のマンツーマンレッスン

編集後記

昨日(9/20)は仕事の後、空き家についての勉強。

今週土曜日に空き家相談会に相談員として出向かせて頂きます。

zoom を使ったオンラインセミナー開催致します。
◆1/28 30代半ばから税理士になった体験談セミナー

お仕事のご依頼は、以下のリンク先にある個別のフォームよりお願い致します。
◆税務・会計 顧問
◆税務・会計のスポットコンサルティング
◆Excel シートのオーダーメイド
◆Excel、マクロ(Excel VBA) のマンツーマンレッスン
◆東亜大学通信制大学院(法学専攻) 入試対策コンサル
◆その他のスポットコンサルティング(当ブログを読み何かご相談したい事項が出てきた方に向けたサービス)

税金・会計についての無料メルマガをはじめます。配信をご希望させる方は以下のリンク先にあるフォームよりお願い致します
◆メルマガ登録
税理士試験まとめ、税法論文の書き方

————————————————

税理士試験についてのまとめはこちらです!

税法2科目免除大学院についてのまとめはこちらです!

kindle電子書籍を出版しました。

税理士試験の税法2科目免除のために大学院で税法論文(修士論文)を書いた経験を元に、大学院生としての目線から税法論文の書き方を体系化した書籍です↓

大学院での税法論文の書き方

本書籍の内容についてはこちらの記事をご確認下さい。

お問い合わせ・フォローボタン

———————————

よろしければフォロー下さい↓

Twitter フォローボタン:

Feedly フォローボタン:
follow us in feedly

Facebookページ:
*いいね!を押して頂くと更新情報が届きます。

レクタングル大 広告
レクタングル大 広告
関連コンテンツ



シェアする

フォローする