VBAでIfの使い方について質問です。 Sub 知恵袋() If Range("A1") = "" Then Range("A1") = "yahoo"

Visual Basic | Excel167閲覧

ベストアンサー

1

1人がナイス!しています

不意にキーボードを触ってしまったあとに、このようなコードを見ると、誤って Elseの下の行を消してしまったのかと、焦ることがありmす。

ThanksImg質問者からのお礼コメント

とても分かりやすく説明していただけましたので 理解も深まりました! 確かに無駄なElseを付けていた時は 仰るように紛らわしかったです。 初心者すぎて意味不明な質問だったと思いますが 皆様、親切に回答してくださり助かりました!

お礼日時:5/19 16:57

その他の回答(6件)

0

「必ずElseを使わないといけないと 思っていた」という理由が よく分かりませんが、 Ifは条件によって処理するコードです。 その中でElseやElseIfは、複数の条件を 付けたい時や分岐したい 時などに使います。 逆に、条件が1つの時に付ける意味が 分かりません。 VBAが、付けないと動かないという 仕様なら分かりますけどね。

1

書き方は色々あります。 ぶっちゃけあってもなくてもいいのですが、そこはお好みで。 Sub Sample() Dim msg If 1 = 1 Then msg = msg & 1 End If If 1 = 1 Then msg = msg & 2 Else End If If 1 <> 1 Then Else msg = msg & 3 End If 'Thenの後に改行しないなら1行で書ける If 1 = 1 Then msg = msg & 4 If 1 = 1 Then msg = msg & 5 Else msg = "ABC" 'コロンで区切れば改行したことにできる If 1 = 1 Then msg = msg & 6: msg = msg & 7 If 1 = 1 Then msg = msg & 8 Else: Exit Sub: End If '半角スペース+半角アンダーバーで見た目だけ改行できる If 1 = 1 Then _ msg = msg & 9 MsgBox msg End Sub

画像

1人がナイス!しています

1

If 条件A Then 条件Aが成立した場合の処理 Else End If これは無いと思うが If 条件がAでない Then 条件Aでないが成立した場合の処理 End If より If 条件がA Then (何も書かない) Else 条件Aでないが成立した場合の処理 End If と書くのはアリらしい 少し速いらしいが実感したことは無いです。

1人がナイス!しています

1

構文は If condition Then [ statements ] [ ElseIf condition-n Then [ elseifstatements ]] [ Else [ elsestatements ]] End If なので省略可能です

1人がナイス!しています