【エクセルVBA】IF文中に条件に応じて何もしない処理の記述例

こんにちは、ヒガシです。

 

VBAを書いていると、IF文で条件に当てはまるときは何もしないでElseの時だけ処理を書きたい、なんてシーンに地味に遭遇しますよね。

 

そんなときに、

あれ?何もしない処理ってどうするんだっけ?

となる人は多いと思います。

 

ということでこの記事ではそんなシーンでの対処法を2つご紹介していきます。

 

スポンサーリンク

IF文中に何もしない方法①何も書かない

まずは一つ目の対処法をご紹介していきます。

基本的にIF文中で条件に当てはまるときに何もしたくないのであれば、コードにも何も書かなくてOKです。

 

以下の例で実践してみましょう。

Sub if_continue1()
    For i = 1 To 10
        If i <= 5 Then
        Else
            Cells(i, 1) = i
        End If
    Next
End Sub

iが5以下の時はIF文中に何も記載していないことがわかると思います。

 

実際に実行してみましょう。

問題なく実行することができました。

 

ちょっとコード的に違和感はありますが、何も書かなくてOKなんですね。

 

スポンサーリンク

IF文中に何もしない方法②GoTo文でジャンプする

やはり何も書かないということに違和感があるという方向けに、GoTo文を使った方法をご紹介しておきます。

以下がそのサンプルコードです。

Sub if_continue2()
    For i = 1 To 10
        If i <= 5 Then
            GoTo AAA
        Else
            Cells(i, 1) = i
        End If
AAA:
    Next
End Sub

基本的にはiが5以下の時に「AAAという場所まで行け」、という処理と着地点であるAAAという場所を追記してあげているだけです。

 

これなら条件に当てはまったときにIF文をスキップする様子がわかりやすいですね。

 

なお、ここで紹介したGoTo文については以下の記事で詳細解説していますので、こちらもあわせてご覧ください。

スポンサーリンク

おわりに

というわけで今回はIF文中に条件に応じて何もしない方法を2つご紹介しました。

GoTo文は慣れてないとなかなか少し難しいですが、要所で使えるスキルなのでぜひ習得しておきましょう。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

ぜひ他の記事ものぞいてみてください。

コメント

タイトルとURLをコピーしました