Excel VBA質問箱 IV

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

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


1363 / 13645 ツリー ←次へ | 前へ→

【74892】Select Case で連続判定 トキノハジメ 13/10/22(火) 13:06 質問[未読]
【74893】Re:Select Case で連続判定 ウッシ 13/10/22(火) 13:58 質問[未読]
【74894】Re:Select Case で連続判定 Abyss 13/10/22(火) 14:02 発言[未読]
【74895】Re:Select Case で連続判定 トキノハジメ 13/10/22(火) 14:51 質問[未読]
【74896】Re:Select Case で連続判定 ウッシ 13/10/22(火) 14:53 質問[未読]
【74898】Re:Select Case で連続判定 トキノハジメ 13/10/22(火) 14:59 質問[未読]
【74899】Re:Select Case で連続判定 ウッシ 13/10/22(火) 15:14 発言[未読]
【74900】Re:Select Case で連続判定 トキノハジメ 13/10/22(火) 15:52 質問[未読]
【74902】Re:Select Case で連続判定 ウッシ 13/10/22(火) 16:40 回答[未読]
【74903】Re:Select Case で連続判定 トキノハジメ 13/10/22(火) 18:40 お礼[未読]
【74905】Re:Select Case で連続判定 ウッシ 13/10/22(火) 21:04 回答[未読]
【74906】Re:Select Case で連続判定 トキノハジメ 13/10/22(火) 22:33 お礼[未読]

【74892】Select Case で連続判定
質問  トキノハジメ  - 13/10/22(火) 13:06 -

引用なし
パスワード
   いつもお世話になります。

Select Case Range("B9").Value
    Case Is <= 11.5
      Range("B13").Value = "A"
    Case Is <= 11.8
      Range("B13").Value = "B"
    Case Is <= 12.2
      Range("B13").Value = "C"
    Case Is <= 12.5
      Range("B13").Value = "D"
    Case Is >= 12.6
      Range("B13").Value = "E"
   End Select

上記のコードにてB9に数値があり、判定結果をB13に表示しています。
これを同条件でコマンドボタンにて B9,C9,D9&#12316;U9 まで連続判定には何を使えば良いのか教えてください。

【74893】Re:Select Case で連続判定
質問  ウッシ  - 13/10/22(火) 13:58 -

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

コマンドボタンでどのように処理するつもりですか?

なんか数式をセットしておく方が良さそうですけど。


▼トキノハジメ さん:
>いつもお世話になります。
>
>Select Case Range("B9").Value
>    Case Is <= 11.5
>      Range("B13").Value = "A"
>    Case Is <= 11.8
>      Range("B13").Value = "B"
>    Case Is <= 12.2
>      Range("B13").Value = "C"
>    Case Is <= 12.5
>      Range("B13").Value = "D"
>    Case Is >= 12.6
>      Range("B13").Value = "E"
>   End Select
>
>上記のコードにてB9に数値があり、判定結果をB13に表示しています。
>これを同条件でコマンドボタンにて B9,C9,D9&#12316;U9 まで連続判定には何を使えば良いのか教えてください。

【74894】Re:Select Case で連続判定
発言  Abyss  - 13/10/22(火) 14:02 -

引用なし
パスワード
   > B9,C9,D9&#12316;U9 まで連続判定

普通に考えてループ処理が理想では?

【74895】Re:Select Case で連続判定
質問  トキノハジメ  - 13/10/22(火) 14:51 -

引用なし
パスワード
   ウッシさん,早速に有難うございます。このコードの前に計算式がありまして、その答えがB9に入ります。答えの数値をSelect Case で判定しています。判定結果をB13にだしています。説明不足ですみません。

【74896】Re:Select Case で連続判定
質問  ウッシ  - 13/10/22(火) 14:53 -

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

判定結果を出すセルが B13 固定なのですか?

【74898】Re:Select Case で連続判定
質問  トキノハジメ  - 13/10/22(火) 14:59 -

引用なし
パスワード
   ▼ウッシ さん:
>こんにちは
>
>判定結果を出すセルが B13 固定なのですか?

B9 も B13 もどちらもこていしています。あとC,D,E,全てこていです。

【74899】Re:Select Case で連続判定
発言  ウッシ  - 13/10/22(火) 15:14 -

引用なし
パスワード
   ▼トキノハジメ さん:
>▼ウッシ さん:
>>こんにちは
>>
>>判定結果を出すセルが B13 固定なのですか?
>
>B9 も B13 もどちらもこていしています。あとC,D,E,全てこていです。

そういう意味では有りません。

判定結果を出すセルがB13固定で判定セルがB9〜U9ならコマンドボタンで切り替え
る意味もあるのかと思いますが、全て固定ならB13〜U13に分岐判定用の数式を
セットしておけばいいのでは?

コマンドボタンで切り替える必要性はなんですか?

【74900】Re:Select Case で連続判定
質問  トキノハジメ  - 13/10/22(火) 15:52 -

引用なし
パスワード
   ▼ウッシ さん:
>コマンドボタンで切り替える必要性はなんですか?

どうも説明がまずくてすみません。

コマンドボタンは一つです。

これによりそれぞれB6,B7,B8に入った数値を計算しこたえをB9に表示しています。

B9が計算結果です。その数値の大小によりSelect Case により B13に判定結果を表示しています。表にはC9,C13 D9,D13と20あり、コードもそれぞれに対応して有ってコードが纏まらないかと思っています。切り替えではなくコードを簡潔かしたいのですが、宜しくお願いいたします。

【74902】Re:Select Case で連続判定
回答  ウッシ  - 13/10/22(火) 16:40 -

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

一括して数式をセットして値に変換してます。

Sub test()
  With Range("B13:U13")
    .Formula = "=IF(B9<=11.5,""A"",IF(B9<=11.8,""B""," & _
          "IF(B9<=12.2,""C"",IF(B9<=12.5,""D""," & _
          "IF(B9=12.6,""E"","""")))))"
          
    .Value = .Value
  End With
End Sub

12.6を超えた場合はどうするのですか?

▼トキノハジメ さん:
>▼ウッシ さん:
>>コマンドボタンで切り替える必要性はなんですか?
>
>どうも説明がまずくてすみません。
>
>コマンドボタンは一つです。
>
>これによりそれぞれB6,B7,B8に入った数値を計算しこたえをB9に表示しています。
>
>B9が計算結果です。その数値の大小によりSelect Case により B13に判定結果を表示しています。表にはC9,C13 D9,D13と20あり、コードもそれぞれに対応して有ってコードが纏まらないかと思っています。切り替えではなくコードを簡潔かしたいのですが、宜しくお願いいたします。

【74903】Re:Select Case で連続判定
お礼  トキノハジメ  - 13/10/22(火) 18:40 -

引用なし
パスワード
   ▼ウッシ さん:
>こんにちは
>
>Sub test()
>  With Range("B13:U13")
>    .Formula = "=IF(B9<=11.5,""A"",IF(B9<=11.8,""B""," & _
>          "IF(B9<=12.2,""C"",IF(B9<=12.5,""D""," & _
>          "IF(B9=>12.6,""E"","""")))))"
>          '---------------------------
>    .Value = .Value
>  End With
>End Sub
>
>12.6を超えた場合はどうするのですか?
>
有難うございました。
12.6 を超えれば"E" とします。
上記の様に変更でよいのでしょうか。

【74905】Re:Select Case で連続判定
回答  ウッシ  - 13/10/22(火) 21:04 -

引用なし
パスワード
   こんばんは

済みません元のコードも、Case Is >= 12.6 でしたね。
とすれば、

Sub test()
  With Range("B13:U13")
    .Formula = "=IF(B9<=11.5,""A"",IF(B9<=11.8,""B""," & _
          "IF(B9<=12.2,""C"",IF(B9<=12.5,""D""," & _
          """E""))))"
'    .Value = .Value
  End With
End Sub

でいいですね。


▼トキノハジメ さん:
>▼ウッシ さん:
>>こんにちは
>>
>>Sub test()
>>  With Range("B13:U13")
>>    .Formula = "=IF(B9<=11.5,""A"",IF(B9<=11.8,""B""," & _
>>          "IF(B9<=12.2,""C"",IF(B9<=12.5,""D""," & _
>>          "IF(B9=>12.6,""E"","""")))))"
>>          '---------------------------
>>    .Value = .Value
>>  End With
>>End Sub
>>
>>12.6を超えた場合はどうするのですか?
>>
>有難うございました。
>12.6 を超えれば"E" とします。
>上記の様に変更でよいのでしょうか。

【74906】Re:Select Case で連続判定
お礼  トキノハジメ  - 13/10/22(火) 22:33 -

引用なし
パスワード
   ▼ウッシ さん:Abyss さんアドバイス
有難うございました。本にも載っていないコード感激いたしました。今後とも宜しくおねがいいたします。 

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