Excel VBA質問箱 IV

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

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


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

【35816】範囲指定(?)について ハオ 06/3/14(火) 9:09 質問[未読]
【35818】Re:範囲指定(?)について Jaka 06/3/14(火) 9:50 回答[未読]
【35819】Re:範囲指定(?)について ハオ 06/3/14(火) 11:10 お礼[未読]

【35816】範囲指定(?)について
質問  ハオ  - 06/3/14(火) 9:09 -

引用なし
パスワード
   初歩的な質問で申し訳ありません。
この前は皆さんにご迷惑をおかけ致しましたが、おかげさまで解決致しました。

・・・が、新たな私にとって難問ができてしまい、皆様の知恵をお借りしたいと思いました。

その難問というのは・・・

色分け繰り返しで、

Sub 色分け繰り返し()

Range("B4").Activate
Do Until IsEmpty(ActiveCell)
For i = 1 To 224
Call 色分け
ActiveCell.Offset(1, 0).Activate
Next
Loop
Range("A4").Select
End Sub

まではうまくできていますが、問題の

Sub 色分け()
'
' 色分け Macro
'

'
If ActiveCell.Value = "1" Then
Call ベージュ
ElseIf ActiveCell.Value = "2" Then
Call ベージュ
ElseIf ActiveCell.Value = "3" Then
Call ベージュ
ElseIf ActiveCell.Value = "4" Then
Call ベージュ
ElseIf ActiveCell.Value = "5" Then
Call ベージュ
ElseIf ActiveCell.Value = "6" Then
Call ベージュ
ElseIf ActiveCell.Value = "7" Then
Call ベージュ
Else
Call 色なし
End If

End Sub

のことです。

If ActiveCell.Value = "1" Then
Call ベージュ
ElseIf ActiveCell.Value = "2" Then
Call ベージュ



と数字が7まで書いてありますが、これを省略化にしたいと思っていますが、どうやればいいでしょうか?
ちなみ、これは1〜7の数字は色を塗っていく感じですが、実際は300まであって、全部記入するのは大変だと思いましたので・・・
以上よろしくお願いします。

【35818】Re:範囲指定(?)について
回答  Jaka  - 06/3/14(火) 9:50 -

引用なし
パスワード
   For i = 1 To 200
  If Val(Cells(i, 4).Value) >= "1" And Val(Cells(i, 4).Value) <= "10" Then
   MsgBox "1〜10"
  ElseIf Val(Cells(i, 4).Value) >= "11" And Val(Cells(i, 4).Value) <= "20" Then
   MsgBox "11〜20"
  ElseIf Val(Cells(i, 4).Value) >= "21" And Val(Cells(i, 4).Value) <= "30" Or _
     Val(Cells(i, 4).Value) >= "41" And Val(Cells(i, 4).Value) <= "50" Then
   MsgBox "21〜30 or 41〜50"
  Else
   MsgBox "?"
  End If
Next

----
For i = 1 To 200
  Select Case Val(Cells(i, 4).Value)
   Case 1 To 10
     Cells(i, 4).Interior.ColorIndex = 3
   Case 11 To 20
     Cells(i, 4).Interior.ColorIndex = 4
   Case 21 To 30, 41 To 50
     Cells(i, 4).Interior.ColorIndex = 5
   Case Else
     Cells(i, 4).Interior.ColorIndex = 0
  End Select
Next

【35819】Re:範囲指定(?)について
お礼  ハオ  - 06/3/14(火) 11:10 -

引用なし
パスワード
   解決しました。
ありがとうございました。

▼Jaka さん:
>For i = 1 To 200
>  If Val(Cells(i, 4).Value) >= "1" And Val(Cells(i, 4).Value) <= "10" Then
>   MsgBox "1〜10"
>  ElseIf Val(Cells(i, 4).Value) >= "11" And Val(Cells(i, 4).Value) <= "20" Then
>   MsgBox "11〜20"
>  ElseIf Val(Cells(i, 4).Value) >= "21" And Val(Cells(i, 4).Value) <= "30" Or _
>     Val(Cells(i, 4).Value) >= "41" And Val(Cells(i, 4).Value) <= "50" Then
>   MsgBox "21〜30 or 41〜50"
>  Else
>   MsgBox "?"
>  End If
>Next
>
>----
>For i = 1 To 200
>  Select Case Val(Cells(i, 4).Value)
>   Case 1 To 10
>     Cells(i, 4).Interior.ColorIndex = 3
>   Case 11 To 20
>     Cells(i, 4).Interior.ColorIndex = 4
>   Case 21 To 30, 41 To 50
>     Cells(i, 4).Interior.ColorIndex = 5
>   Case Else
>     Cells(i, 4).Interior.ColorIndex = 0
>  End Select
>Next

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