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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Excel(エクセル) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 3 2022/08/21 20:51
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- C言語・C++・C# numpyスライス機能を使った数値計算 2 2023/05/08 16:01
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) 指定の条件に応じたセルの場所に〇印(図形)を描く 2 2022/11/08 15:26
- Visual Basic(VBA) Excelのマクロについて教えてください。 3 2022/06/30 09:36
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
腕を見たら黄色くなってる部分...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
勃起する時って痛いんですか? ...
-
精子が黄色?
-
口の中に黒い血の塊
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
中出しをするとお腹が痛い・・・。
-
精子に血が・・・
-
これって喉仏ですか? 私は女性...
-
爪が紫色?
-
納豆食べた後の尿の納豆臭は何故?
-
筋トレするとチンコが縮んじゃ...
-
射精をして1週間以内に尿検査を...
-
尿検査の前日は自慰控えたほう...
-
EXCELで式からグラフを描くには?
-
excelでsin二乗のやり方を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報