
Sub あああ()
Dim a As Variant
a = Range("H11")
Select Case True
Case (a < Range("G11") And a < Range("G11")And a < Range("I11")And a < Range("H10"))
Range("H11").Font.Color = RGB(255, 255, 255)
Range("H11").Interior.Color = RGB(255, 0, 0)
End Select
End Sub
前回の質問でここまでは理解できたのですが、
Range("G11") Range("G11") Range("I11") Range("H10")のすべての値が
Range("H11")より大きいとき Range("H11")セルを赤く塗りつぶし、文字を白くする
下記の条件を記載したいのです。Select Case の範疇ではないのかもしれませんが、
Range("G11") Range("G11") Range("I11") Range("H10")の4つのうち、どれか一つがRange("H11")の値より小さいときは、Range("H11")セルを青くく塗りつぶし、文字を白くする
Range("G11") Range("G11") Range("I11") Range("H10")の4つのうち、どれか二つがRange("H11")の値より小さいときは、Range("H11")セルを黄色く塗りつぶし、文字を白くする
Range("G11") Range("G11") Range("I11") Range("H10")の4つのうち、どれか三つがRange("H11")の値より小さいときは、Range("H11")セルを黒く塗りつぶし、文字を白くする
select caseでできなければ、If条件分岐するのでしょうか?
また、あまり理解できていないののですが、判定するセルは規則性があるので、
変数などを組み合わるとできるのでしょうか?
ご教示お願いします
No.4ベストアンサー
- 回答日時:
こんばんは!
横からお邪魔します。
Select Case でやる場合の一例です。
Sub Sample1()
Dim c As Range, myRng As Range, myCnt As Long
With Range("H10")
Set myRng = Union(.Offset(, -1), .Offset(-1), .Offset(, 1))
For Each c In myRng
If c < .Value Then
myCnt = myCnt + 1
End If
Next c
Select Case myCnt
Case 3
.Interior.ColorIndex = 1 '←「黒]
.Font.ColorIndex = 2 '←「白」
Case 2
.Interior.ColorIndex = 6 '←「黄」
.Font.ColorIndex = 3 '←「赤」
Case 1
.Interior.ColorIndex = 5 '←「青」
.Font.ColorIndex = 2
Case Else
.Interior.ColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
End Select
End With
End Sub
※ 「黄色の塗りつぶし」「白文字」は見えにくいので「赤文字」にしています。
こんな感じではどうでしょうか?m(_ _)m
一番私が求めているのに近い回答でしたのです。ありがとうございます。
ついでになんですが、私にはこのコードがだ理解できていないのですが、
With Range("H11")が回りのセルの(H10、H12,G11,I11)の全部の値よりも小さいときは、 Case4の条件をどのうに記載するのでしょうか?
With Range("H11")は、cellsを利用して、H11のH12、H13というように cells(11、i)というように記載できるのしょうか?
とりあえず、今からやってみます。
No.6
- 回答日時:
比較対象のセルにG11が2回登場しているのが、これって間違いですよね?とりあえず、無視して回答します。
Excelらしく、CountIfワークシート関数で、条件にあう件数をカウントしてみました。
Sub sample()
Select Case WorksheetFunction.CountIf(Range("G11:G11:I11:H10"), "<" & Range("H11"))
Case 1
'1つの場合の処理
Case 2
'2つの場合の処理
Case 3
'・
'・
End Select
End Sub
No.5
- 回答日時:
No.4です。
投稿後気づきました。
前回のコードは1行ずれていましたので
>With Range("H10")
を
>With Range("H11")
に変更してください。
どうも失礼しました。m(_ _)m
Sub Sample1()
Dim c As Range, myRng As Range, myCnt As Long
With Range("H11")
Set myRng = Union(.Offset(, -1), .Offset(-1), .Offset(, 1), .Offset(1))
For Each c In myRng
If c < .Value Then
myCnt = myCnt + 1
End If
Next c
Select Case myCnt
case4
.Interior.ColorIndex = 3 '←「黒]
.Font.ColorIndex = 2 '←「白」
Case 3
.Interior.ColorIndex = 1 '←「黒]
.Font.ColorIndex = 2 '←「白」
Case 2
.Interior.ColorIndex = 6 '←「黄」
.Font.ColorIndex = 3 '←「赤」
Case 1
.Interior.ColorIndex = 5 '←「青」
.Font.ColorIndex = 2
Case Else
.Interior.ColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
End Select
End With
End Sub
と変更したのですが、作動しません。
select case と最初のcaseの間のステートメントが適切ではありませんとなります
No.3
- 回答日時:
a < Range("G11").Value)
の条件 True の 場合 1 False の場合 0
ですの、
それぞれの条件の足し算で
4つの条件がそろった場合
Select Case b
Case 4
三つの条件がそろった場合
Case 3
ここに、三つの場合に 塗りつぶしの色
二つの条件がそろった場合
Case 2
ここに、二つの場合に 塗りつぶしの色
一つの条件しかない場合
Case 1
ここに、一つの場合に 塗りつぶしの色
となります。
No.2
- 回答日時:
No1です。
http://www.peko-step.com/tool/tfcolor.html
こちらのサイトで、ご希望の色のRGBが得られると思います。
ちなみに黒は
Range("H11").Interior.Color = RGB(0, 0, 0)
No.1
- 回答日時:
一案です。
Sub ボタン1_Click()
a = Range("H11").Value
b = (a < Range("G11").Value) + (a < Range("H12").Value) + (a < Range("I12").Value) + (a < Range("H10").Value)
Select Case b
Case 4
Range("H11").Font.Color = RGB(255, 255, 255)
Range("H11").Interior.Color = RGB(255, 0, 0)
Case 3
Case 2
Case 1
Case Else
End Select
End Sub
こんな感じでは如何でしょうか。
もうしわけありません。私の質問に言葉が足りませんでした。
>Range("G11") Range("G11") Range("I11") Range("H10")の4つ>のうち、どれか一つがRange("H11")の値より小さいときは、Range("H1>1")セルを青くく塗りつぶし、文字を白くする
>Range("G11") Range("G11") Range("I11") Range("H10")の4つ>のうち、どれか二つがRange("H11")の値より小さいときは、Range("H1>1")セルを黄色く塗りつぶし、文字を白くする
>Range("G11") Range("G11") Range("I11") Range("H10")の4つ>のうち、どれか三つがRange("H11")の値より小さいときは、Range("H1>1")セルを黒く塗りつぶし、文字を白くする
この部分のコードではないですよね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
血液検査の結果が悪くefgrの値...
-
増減表のプラスマイナスの符号...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
Excel 数値の前の「 ' 」を一括...
-
風俗店へ行く前のご飯
-
病院側から早く来てくださいと...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
アクエリアスが苦く感じる
-
EXCELで式からグラフを描くには?
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
鏡についてです。自分の体型を...
-
足がまだら模様になります。ど...
-
一番多く表示のある値(文字列...
-
小数点以下を繰り上げたものを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
血小板増加について
-
彼女のことが好きすぎて彼女の...
-
Excel 数値の前の「 ' 」を一括...
-
病院側から早く来てくださいと...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
一番多く表示のある値(文字列...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
増減表のプラスマイナスの符号...
-
【Excelで「正弦波」のグラフを...
-
エクセルで数式の答えを数値と...
おすすめ情報