0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VBA【ステートメント】

Last updated at Posted at 2024-10-02

はじめに

学習記録・復習のためまとめています。IT業界2年目のひよっこです。

ステートメントとは

マクロの中で動きの命令をするもの。条件分岐や繰り返し文など、マクロの動作を制御したり、変数を宣言したりできる。


Callステートメント

<こんなときに使える>
・作成済みのマクロ(プロシージャ)を呼び出したい
・記述量を最小限にしたい

Call マクロ名

Call マクロ名( ) ←かっこは不要!


Withステートメント

<こんなときに使える>
・繰り返し同じ対象について記述する
・記述量を最小限にしたい
・可視性を高めたい

With 対象   'シートやセルなど指定可能
    .処理
    .select
    .values など
End With

処理の前に「.」をつけることで「対象を(の)」という意味になる
例 「.select」→「対象を選択する」
  「.values」→「対象の値」

※with内で別な対象(別なセルなど)を書いた場合は、明記された対象が実行される!


ifステートメント

<こんなときに使える>
・条件分岐させたいとき
・条件を比較したいとき

If 条件 then
       処理
   ElseIf 処理
   Else   処理
End If

thenを次の行に書くと「コンパイルエラー」が発生する。
もし次の行に跨ぎたい場合は「行継続文字(_)」を使用する。
※1行分の中で最大24回までは使用可能

Ifステートメントで使用可能な比較演算子

演算子 説明
= 等しい
< より大きい
<= 以上
> より小さい
>= 以下
<> 等しくない
And 全ての条件に合致する
Or いずれか一つの条件に合致する

※以上、以下は「=」が「<」や「>」の後につくため注意!


Select Caseステートメント

<こんなときに使える>
・複数の条件を同時に判定したいとき

Select Case 値
    Case 条件1
         処理

    Case 条件2
         処理
         
    Case Else     '※同じ行に処理を記載するとコンパイルエラー
         処理
End Select    

Elseも同様に「Case」がつく!
分岐指定の際は必ず「Case」が先頭につくと覚えておく!

条件の指定方法

意味
1,2,3 1または2または3の場合
1 To 10 1から10の場合

例 「,」と「To」は同時に使用可能!

Dim month
    month = Range("B10")
    
    Select Case month
        Case 3 To 5
            MsgBox "春"
        Case 6 To 8
            MsgBox "夏"
        Case 9 To 11
            MsgBox "秋"
        Case 12, 1 To 2
            MsgBox "冬"
        Case Else
            MsgBox "1~12の数字を入力ください"
    End Select
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?