Excel VBA質問箱 IV

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

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


11568 / 13646 ツリー ←次へ | 前へ→

【15283】Select Caseについて 初心者K 04/6/19(土) 11:52 質問[未読]
【15284】Re:Select Caseについて kuku 04/6/19(土) 12:06 回答[未読]
【15285】Re:Select Caseについて かみちゃん 04/6/19(土) 12:14 発言[未読]
【15295】こんなんでどうでしょうか… 失恋魔術師 04/6/19(土) 23:12 発言[未読]
【15298】Re:Select Caseについて kein 04/6/19(土) 23:55 回答[未読]
【15404】とりあえず 初心者K 04/6/23(水) 18:36 お礼[未読]

【15283】Select Caseについて
質問  初心者K  - 04/6/19(土) 11:52 -

引用なし
パスワード
   初めまして。
最近VBAをはじめました。
初歩的な質問かも知れませんが、お答えいただけるとうれしいです。

Select Caseを使って処理を分岐したいのですが、
値が入っている時はうまく動きます。
しかし空のセルがあるとだめです。(当たり前かもしれませんが)
空のセルがあっても処理を続けさせる時は、どのようにすればいいのでしょうか?
Case Else を使えばいいのでしょうか?

どなたか教えてください。お願いします。

【15284】Re:Select Caseについて
回答  kuku  - 04/6/19(土) 12:06 -

引用なし
パスワード
   こんにちは。

Case ""

ではダメですか?

【15285】Re:Select Caseについて
発言  かみちゃん  - 04/6/19(土) 12:14 -

引用なし
パスワード
   >Select Caseを使って処理を分岐したいのですが、
>値が入っている時はうまく動きます。
>しかし空のセルがあるとだめです。(当たり前かもしれませんが)

どうだめなのでしょうか?

>空のセルがあっても処理を続けさせる時は、どのようにすればいいのでしょうか?
>Case Else を使えばいいのでしょうか?

下記のコードは、A1セルの値により、いろんなメッセージを表示します。
セルが空白の場合は、「1 から 10 以外の数値」と表示したあと、「処理を続行します」と表示されます。

Sub Test()
 Select Case Cells(1, 1).Value
  Case 1 To 5
   MsgBox "1 から 5 の間"
  Case 6, 7, 8
   MsgBox "6 から 8 の間"
  Case 9 To 10 And Number < 11
   MsgBox "9 または 10"
  Case Else
   MsgBox "1 から 10 以外の数値"
 End Select
 MsgBox "処理を続けます。"
End Sub

【15295】こんなんでどうでしょうか…
発言  失恋魔術師  - 04/6/19(土) 23:12 -

引用なし
パスワード
   Sub Test()

Dim Number As Variant

Number = Cells(1, 1).Value

 Select Case Cells(1, 1).Value
  Case 1 To 5
   MsgBox "1 から 5 の間"
  Case 6, 7, 8
   MsgBox "6 から 8 の間"
  Case 9 To 10 And Number < 11
   MsgBox "9 または 10"
  Case ""
   MsgBox "空っぽだよ〜ん"
  Case Else
   MsgBox "0以下 もしくは 11以上の値は受け付けません!"
   Exit Sub
 End Select
 MsgBox "処理を続けます。"
End Sub

【15298】Re:Select Caseについて
回答  kein  - 04/6/19(土) 23:55 -

引用なし
パスワード
   空白かどうかは IsEmpty関数 で分かりますので、例えば

x = Cells(i, 1).Value
If Not IsEmpty(x) Then
 Select Case x
   Case 1 To 10
     ・
     ・
 End Select
End If

などとすれば良いでしょう。 

【15404】とりあえず
お礼  初心者K  - 04/6/23(水) 18:36 -

引用なし
パスワード
   みなさん素早いレスありがとうございます。
こちらは、時間がない中、色々と試させていただきました。
中途半端な質問で分かりづらくてすみません。
状況はCaseによって指定したセルに値を代入し、作業を繰り替えさせるのですが、
Caseが空白だと、その後の代入される値が空になってしまうんです。
でもとりあえずは空白を作らず”0”を入れて何とかしました。

でもみなさんのおかげで今後のヒントになりそうなものをたくさん得られました。
どうもありがとうございました。
これからもよろしくお願いします。

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