ここはアダルトアフィリエイトで収入を得る方法を紹介するアダルトサイト作成支援サイトです。未成年用出口→ 「Yahoo」 「Google
TOP<<
判定文とループ文について

エクセルで自動サイトを作る講座4回目です。今回は「判定文」と「ループ文」についてです。判定文というのは変数の状態によって処理を変える文のことです。ループ文は変数の状態によって処理をループさせる文のことです。例によってサンプルプログラムを通して解説していきたいと思います。

■判定文について

判定文はいろいろなものがありますが、もっともよく使われるのが「If」(イフ)という文です。これは英語で「もし〜だったら」という仮定を表す英文ですが、そのままの意味でプログラムでも使われています。ではまずサンプルプログラムです。
 
Sub If判定文()

Dim Hant
Hant = 1
If Hant = 1 Then MsgBox ("おめでとう")

End Sub
 
では前回の復習もかねて解説します。まず最初の分で変数の宣言です。今回は「Hant」という名前の変数を作りました。そしてその次の行でその変数に「1」を代入しています。そして次の文が判定文です。
 
意味は「もし変数Hantの中身が1だったら、おめでとう、というメッセージを表示する」ということです。前の行で変数Hantの中には1を入れていますのでメッセージが表示されます。これがプログラムの意味です。では試しにHantの中に1ではなく2を入れていたらどうなるでしょうか?ぜひ実際にやってみてもらいたいと思いますが、その場合は何も表示されません。理由はもちろんHantの中身が1ではないのでMsgboxの命令が実行されないからです。
 
このように変数などの値が自分の想定する値だったらある命令を実行させる、というのが判定文です。
 
上の判定文はひとつの処理だけするので1行で終わっていますが、複数の処理をしたい場合は以下のようにします。
 
Sub 複数行の判定文()
Dim Hant
Hant = 1
If Hant = 1 Then
MsgBox ("おめでとう")
MsgBox ("ありがとう")
End If

End Sub
 
上の例は「おめでとう」というメッセージのあとに「ありがとう」というメッセージを表示させているだけです。このように命令したいことが2つ以上ある場合で「If」を使いたい場合には行数を複数にする必要があり、さらに最後に「End If」とつけてあげる必要があります。1行だけであればつける必要はありません。ちょっとひっかかりやすいところかもしれませんので、覚えておいてください。

■複雑な判定文

複雑といっても別に難しいことをやるわけではありません。さっきやった例は一つの場合だけ処理するものでしたが、この数字の場合はこれ、この数字の場合はこれ、といった風にいくつかの場合を想定して判定文を書くやり方を紹介します。とりあえず、サンプルです。
 
Sub 複雑な判定文()
Dim Hant
Hant = 1

If Hant = 1 Then
MsgBox ("おめでとう")
ElseIf Hant = 2 Then
MsgBox ("残念!")
Else
MsgBox ("そのほか")
End If
Exit Sub
End Sub
 
上の例は変数Hantの値によってメッセージを変えるプログラムです。1の場合は上でやった文章と同じですが、2の場合が少し違います。「ElseIf」という文で「もし2の場合は」という判定文になっています。この「ElseIf」をさらに増やせば4の場合、5の場合など細かく条件を指定することができます。
 
さらに最後の「Else」という分も重要です。これはその前で指定した数以外のすべての場合をあらわす文です。上のサンプルで言えば「1でも2でもないときのすべてのときには「そのほか」と表示する」ということです。この「Else」によってその他の場合すべての処理を書くことができます。
 
「If」の文の作りは大体以上のとおりです。最初に「If」。細かく条件わけをしたい場合には「ElseIf」。指定した数以外すべてのときは「Else」。そして判定文の最後には「End If」。これだけ覚えるだけであとは自分の好きなように判定文を駆使してプログラムを書くことができます。こういった判定文はいくつかありますが、ここで紹介するのはとりあえず一番有名な「If」だけにしておきます。

■ループ文

ループ文はその名のとおり処理をループさせるときに使います。どういうときに使うかと言うと、色々と使い方はあるんですが、例えば数字を増やしながら指定した数になるまで処理を続けることができます。例によってサンプルで解説します。
 
Sub ループ文()

Dim Kazu
Kazu = 1
Do Until Kazu = 5
MsgBox (Kazu)
Kazu = Kazu + 1
Loop

End Sub
 
上のサンプルではまず変数「Kazu」を宣言し、その中に1を入れています。そして次の行がループ文の開始を表す文です。ループ文にもいくつか種類がありますが、ここでは「Do Until 〜Loop」という構文を使っています。これは最初に指定した条件になるまで処理を繰り返すという意味です。最初の文は判定文になっています。
 
サンプルでは変数「Kazu」の値が3になるまで変数Kazuの中身をメッセージボックスで表示するという面倒なプログラムになっています。まず最初は中身が1なので1を表示し、そして次の「Kazu=Kazu+1」という文で変数Kazuの中身がひとつ増えて2になります。そしてループ文の最初の「Do until」まで処理が戻ります。
 
そこでKazuの値が3になっているかどうか再度判定するわけですが、Kazuの中身は2なのでまた処理が繰り返されます。そしてメッセージボックスで2が表示され、また「Kazu=Kazu+1」で今度は変数Kazuの中身がひとつ増えて3になります。そしてさっきと同じようにループ文の最初に戻りますが、今度は変数Kazuの中身が3になっていますので、処理がLoopから抜け出し処理が終わります。
 
上のプログラムはループ文の初歩中の初歩ですが、初めてループ文を見た人にはどういう順番で処理がされるのかわかりづらいと思うので、F8キーを連打して順番に処理を見ていくようにしてください。そうしないとよくわからないと思いますので。

■forループ文

今度はさっきとは違うループの「Forループ」を紹介します。ループ文としてはおそらくコチラのほうが有名かと思います。ではサンプルです。
 
Sub Forループ()

For i = 1 To 3
MsgBox (i)
Next i


End Sub
 
さっきの「Do Until」のループ文と同じようなプログラムですが、ちょっとだけ違います。この構文は「i」という変数が3になるまで処理を繰り返すというものです。変数として「i」を使うことが多いですが、別に自分の好きな変数を指定してもらって大丈夫です。そして処理を繰り返し「Next i」で変数「i」の数を増やし処理をループさせます。このとき増やす数字はなにも指定しないと1だけ増えますが、もし2増やしたい場合は最初の文を「For i = 1 To 3 Step 2」という風に「Step」と数字を付け足します。この数字は例えば「Step -2」という風にマイナスにすることもできます。この場合にはループするたびに2つ数字が減っていくことになります。
 
ではサンプルプログラムに戻りますが、このプログラムは変数「i」が1から3になるまで処理を繰り返すわけですが、さっきの「Do Until」とは違い変数「i」が3になっても処理が行われます。この点には注意が必要です。もしさっきとまったく同じように動作させたい場合には最初の文を「For i = 1 To 2」とする必要があります。
 
Forループはプログラムを簡潔に表現することができるので使いやいループ文です。いろいろ数字を変えてプログラムの特徴を把握してみてください。
 
次回は文章の変換と置換についてです。

 

TOP1年目の収入 アダルトアフィリエイト出会い系アフィリエイト無料ブログお問い合わせ免責事項リンク
Copyright (C) 2004-2010 All Rights Reserved
【ホームページ作成講座】 | 本・漫画・DVD・アニメ・家電・ゲーム | Webコンサルティングサービス
業界NO1のライブチャット | 自宅でで学べる!CAD資格合格講座 | 20GB 無料のオンラインストレージ
★薬草の資格が取れる! ⇒ 【薬草ガーデン講座】 | 最新ニュース | Web検索 | ドメイン | 無料HPスペース