Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8212 / 13644 ツリー ←次へ | 前へ→

【34534】If then ステートメントについて 陸遜 06/2/5(日) 18:56 質問[未読]
【34535】Re:If then ステートメントについて kobasan 06/2/5(日) 19:05 発言[未読]
【34536】Re:If then ステートメントについて かみちゃん 06/2/5(日) 19:13 発言[未読]
【34600】Re:If then ステートメントについて 陸遜 06/2/7(火) 22:30 お礼[未読]

【34534】If then ステートメントについて
質問  陸遜  - 06/2/5(日) 18:56 -

引用なし
パスワード
   ブロックごとにマクロを組んで、条件に合わない場合は、あるブロックのマクロをスキップするようにしたいと考えて、以下のように書きました。

 If Range("A2")= "" then Go To syori2:
 Else Go To syori1:

syori1: .....

syori2: .....

 しかし、どちらも実行されてしまうのです。どのようにすればスキップすることが出来るでしょうか。ご教示お願いいたします。

【34535】Re:If then ステートメントについて
発言  kobasan  - 06/2/5(日) 19:05 -

引用なし
パスワード
   ▼陸遜 さん 今晩は。


> If Range("A2")= "" then Go To syori2:
> Else Go To syori1:
>
Exit Sub
>syori1: .....
>
Exit Sub
>syori2: .....

End Sub
>
> しかし、どちらも実行されてしまうのです。どのようにすればスキップすることが出来るでしょうか。ご教示お願いいたします。

でどうですか。

【34536】Re:If then ステートメントについて
発言  かみちゃん  - 06/2/5(日) 19:13 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>ブロックごとにマクロを組んで、条件に合わない場合は、あるブロックのマクロをスキップするようにしたい

GoTo ステートメントのヘルプをご確認いただきたいのですが、以下のようにします。

Sub test()
 If Range("A2").Value = "" Then
  GoTo syori2
 Else
  GoTo syori1
 End If
 Exit Sub ' syori1に行かないように制御

syori1:
 MsgBox "syori1"
 GoTo LastSyori ' syori2に行かないように制御

syori2:
 MsgBox "syori2"

LastSyori:

End Sub

ただ、上記のコードは、以下のように簡単にすることができます。

Sub test()
 If Range("A2").Value = "" Then
  MsgBox "syori2"
 Else
  MsgBox "syori1"
 End If
End Sub

【34600】Re:If then ステートメントについて
お礼  陸遜  - 06/2/7(火) 22:30 -

引用なし
パスワード
   ▼お二人とも、コメントありがとうございました。
 データが無いときは、作業がとまってしまいますが、ここからは
一人で何とかできそうです。お礼が遅れまして申し訳ありませんでした。

8212 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free