VBA if文とfor文の使用方法

初歩的なことで質問します。 まず A1からA31セルに 連続した数値A1セル➡1、A2➡2・・・A31➡31と 数値が入力されております。 やりたいこと D1セルに適当な数字(例えば5)を入力しマクロを起動すると A5セルの5と書かれた数値を探し当て 隣のB5セルに別シートの数値を持ってくるといった処理ですが ここまではコードできています。 ここからわからないのですが さらに、D1セルに適当な数字(例えば5)を入力し マクロを起動すると A5セルの5と書かれた数値を探し当て すでに、B5セルに数字があれば処理しないといった内容を 追加したいのですが、やり方が分からないです。 途中からのコードですいません。 For i= 1 To 31 If range(”D1”).Value = .Cells(i, 1).Value Then ここまではできるのですが、その次の処理 すでに、B5セルに数字があれば処理しないといった処理 のif文がわかりません。 すいませんがコード記載してくれると助かります。 回答よろしくお願いします。

VBAのIf文とは

If文は、2つの値の大小関係や、等しい・等しくないなどの条件により処理を変える場合によく使われます。

If文は以下のように記述します。

If 条件式 Then
    処理1
Else
    処理2
End If

大小関係や、等しい・等しくないなどの条件式がTrueの場合にThen以降に記述する処理を行います。Falseの場合にはElse以降に記述する処理を行うか、もしくは記述する処理がない場合はIf文のブロック外に出ます。

それではIf文の使い方について、サンプルコードをみながら詳しく解説していきます。

変数の増分をStepで設定

変数の増分を「Step」で設定することができます。

2つずつループ

「Step」を使って2つずつループするVBAコードです。

Sub TEST2()
    
    '2つ刻みで1~9までループ
    For i = 1 To 9 Step 2
        Cells(i, "A") = i '値を入力
    Next
    
End Sub

「Step」を使って2つずつ増やしてループしてみます。

「Step」で2つずつループ

VBA if文とfor文の使用方法
VBA if文とfor文の使用方法

「Step」を使って2つずつ増やしてループできました。

降順にループ

降順にループするVBAコードです。

Stepで「-1」を使うところがポイントです。

Sub TEST3()
    
    '9~1までループ
    For i = 9 To 1 Step -1
        Debug.Print i '値を入力
    Next
    
End Sub

「Step」を使って降順にループしてみます。

「Step」で降順にループ

VBA if文とfor文の使用方法
VBA if文とfor文の使用方法

「Step」を使って降順にループできました。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です