初歩的なことで質問します。 まず 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つずつループ

「Step」を使って2つずつ増やしてループできました。
降順にループ
降順にループするVBAコードです。
Stepで「-1」を使うところがポイントです。
Sub TEST3() '9~1までループ For i = 9 To 1 Step -1 Debug.Print i '値を入力 Next End Sub
「Step」を使って降順にループしてみます。
「Step」で降順にループ

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