VBA IF文 条件を満たす時に処理する
IF文は、エクセルの関数にもありますが、 これはとても便利です。
エクセルの機能のピボットテーブルと、IF文関数と、VLOOKUPができると、大体のことができます。
それを、VBAでも使います。
条件がシンプルな時は、とても簡単です。
基本的には、
IF 条件 Then
「これをしなさい」
End if
と書来ます。
具体的には
Sub jouken()
IF Range("A4").value>=50 then
Range("C4").font.colorindex = 3
End if
End sub
※ フォントのカラーインデックス 3 は 赤色です。
↑こうなります。
簡単ですね。
IF文を使う機会はかなり多いので、基礎は抑えておきましょう
前にもかいたけど、条件の指定が複雑になると訳が分からなくなるので、がんばろう ( ← 応援だけ)
エクセルマクロ(VBA)の作り方講座(Excel2007版)
VBA 処理速度アップ With の使い方
配列の取り出し方は、後ほどにします。なぜなら、 行き詰ったからです orz|||||
いろいろやってできたらメモろう。
では他の事をします。
まず・・・With Withステートメント です。
ステートメントね、覚えておく。
よそ様のVBAコードを見ると
With って たまにみかけますね。
これを使うとコードもすっきり、処理速度もアップします。
これは、
同じオブジェクトに対して、連続して処理をする時に使います。
ですから、 こういう風に書きます。
With オブジェクト名
処理1
処理2
処理3
End With
具体的には、 例えば・・・ セル A1からC5までの範囲に、
文字列「VBA」、中央ぞろえ、太字、塗りつぶしを連続して設定します。
Sub soushoku()
Range("A1:C5").Value = "VBA"
Range("A1:C5").HorizontalAlignment = xlCenter
Range("A1:C5").Font.Bold = True
Range("A1:C5").Interior.ColorIndex = 8
End sub
↑これを
↓ これに するのです。
Sub soushoku()
With Range("A1:C5")
.Value = "VBA"
.HorizontalAlignment = xlCenter
.Font.Bold = True
.Interior.ColorIndex = 8
End With
End sub
これは簡単。
でもグラフのとかににあると結構いろいろ設定があるので、その時は、、、 必殺。。。あれですね
マクロの自動記録に頼りましょう。
結構あっというまに作ってくれます。
しかもWithを使って
VBA 変数にセルの値を順番に入れてみる 配列を使う
先ほどはエラーが出ましたので、
今度は
配列にいれて、取り出してみようか思いました。
"case”という 変数名が、 caseという命令があるので、使えませんので、
case を hairetsu に変えて今後はやりたいと思います。
センスゼロ。。。
Sub yattemiyo()
For i = 1 To 16
hairetsu = Cells(i + 4, "E")
Next i
End Sub
これで、配列にセルE5~E21 の情報が入りました。
入ったデータを確認するのに、Debug.print で イメディエイトウィンドウに表示できますよ

