No.2ベストアンサー
- 回答日時:
(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。
・・・本題・・・
条件付き書式ですよね。
シート2のリストの並び順は
aaa
ccc
bbb
ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。
シート2の一覧において、
判定するセル1
判定するセル2
判定するセル3
色を付けるセル
判定するセル4
判定するセル5
判定するセル6
という範囲について調べれば良いという事。
判定するセル1
判定するセル2
判定するセル3
色を付けるセル
判定するセル2
判定するセル3
色を付けるセル
判定するセル4
判定するセル3
色を付けるセル
判定するセル4
判定するセル5
色を付けるセル
判定するセル4
判定するセル5
判定するセル6
の4パターンについてそれぞれ調べれば良いだけ。
自分なら
aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、
シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17
という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。
面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。
・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。
VBAが素人なので条件付き書式で出来る事が分かって本当に助かりました。
お知恵を頂いたおかげで思うようなフォーマットを作成する事が出来ました。
ありがとうございます^_^
No.6
- 回答日時:
No5です
No5の②の場合でも、なんとか条件付き書式で対応可能そうな気がしてきました。
ただし、いずれの場合も、No2様の説明にあるように、4種類の組み合わせをチェックすることで1色分の条件となりますので、設定する式はそれなりに長いものとなることが予想されます。
No.5
- 回答日時:
こんにちは
ご質問文で、色を付けるための条件が少々はっきりしません。
① 出現順がリスト通りの順で(4種類)出現したら
② 順序は問わないが、同じチーム内の4種類のメンバー全てが連続したら
③(種類も順も問わずに)同じチームのメンバーが4つ連続したら(重複含む)
④ その他の解釈
①または③であれば、条件付き書式でも対応可能ですが、②の場合は結構難しそうですね。
④の場合は、今のところは検討がつきません。
No.4
- 回答日時:
No.3です。
投稿後気づきました。
Sheet2のデータは同じ列にあるのですね。
前回のコードは消去して、↓のコードに変更してください。
尚、Sheet2のデータはA列にあるとします。
Sub Sample2()
Dim i As Long, myR As Range, wS As Worksheet
Dim myStr As String, buf1 As String, buf2 As String
Set wS = Worksheets("Sheet2")
wS.Range("A:A").Interior.ColorIndex = xlNone
With Worksheets("Sheet1")
buf1 = .Range("A1") & "_" & .Range("A2") & "_" & .Range("A3") & "_" & .Range("A4")
buf2 = .Range("B1") & "_" & .Range("B2") & "_" & .Range("B3") & "_" & .Range("B4")
For i = 1 To wS.Cells(Rows.Count, "A").End(xlUp).Row - 3
Set myR = wS.Cells(i, "A").Resize(4)
myStr = myR(1) & "_" & myR(2) & "_" & myR(3) & "_" & myR(4)
If myStr = buf1 Then
myR.Interior.ColorIndex = 3
ElseIf myStr = buf2 Then
myR.Interior.ColorIndex = 6
End If
Next i
End With
End Sub
※ データ変更があるたびにマクロを実行する必要があります。m(_ _)m
No.3
- 回答日時:
こんにちは!
Sheet1のA1~A4、B1~B4に各名前定義したデータがあるとします。
Sheet2のA・B列のデータの並びはSheet1のA・B列と同じ並びでかつ、
その4行のセルに色付けをしなければならないのですよね。
条件付き書式で色々やってみたのですが、
仮にSheet2のA列に aaa,bbb,ccc,ddd と並んでいる場合最初の「aaa」にだけ色付けするのが精いっぱいでした。
当方の力不足だと思います。
そこでお望みでないかもしれませんが、VBAでの一例です。
標準モジュールにしてください。
尚、条件付き書式が設定してあるとそちらが優先されますので、
Sheet2の条件付き書式は設定していない!とします。
Sub Sample1()
Dim i As Long, myR As Range, wS As Worksheet
Dim myStr As String, buf As String
Set wS = Worksheets("Sheet2")
Range("A:B").Interior.ColorIndex = xlNone
With Worksheets("Sheet1")
buf = .Range("A1") & "_" & .Range("A2") & "_" & .Range("A3") & "_" & .Range("A4")
For i = 1 To wS.Cells(Rows.Count, "A").End(xlUp).Row - 3
Set myR = wS.Cells(i, "A").Resize(4)
myStr = myR(1) & "_" & myR(2) & "_" & myR(3) & "_" & myR(4)
If buf = myStr Then
myR.Interior.ColorIndex = 3
End If
Next i
buf = .Range("B1") & "_" & .Range("B2") & "_" & .Range("B3") & "_" & .Range("B4")
For i = 1 To wS.Cells(Rows.Count, "B").End(xlUp).Row - 3
Set myR = wS.Cells(i, "B").Resize(4)
myStr = myR(1) & "_" & myR(2) & "_" & myR(3) & "_" & myR(4)
If buf = myStr Then
myR.Interior.ColorIndex = 6
End If
Next i
End With
End Sub
とりあえずはお望みの結果になると思います。m(_ _)m
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が 3 2023/07/18 18:46
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) 条件書式でリスト内以外の単語に色をつけたい 1 2022/09/23 13:23
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- Excel(エクセル) エクセルの条件付き書式 3 2022/05/08 03:17
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
リストの単語が含まれるセルを自動で塗りつぶす方法
Excel(エクセル)
-
Excel リスト中の品番と重複があるものに色をつけたい
Excel(エクセル)
-
-
4
VBA リストを参照して文字色を変える
その他(ソフトウェア)
-
5
エクセルVBA:リストに登録した単語と一致する文字色のみを、変更する方法
Excel(エクセル)
-
6
Excelのリストにある文字を含むセルを、複数の色で色付けしたいです
Excel(エクセル)
-
7
他シートのある列を検索して一致したらセルに色をつける方法
会計ソフト・業務用ソフト
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
Excelで複数シートの選択セルを...
-
エクセルで条件に一致したセル...
-
EXCELマクロで、シート間でのコ...
-
Excelシートの保護時にデータの...
-
Rangeメソッドは失敗しました。...
-
エクセルで20万行あるシート...
-
(Excel)あるセルに文字を入力...
-
エクセルのセルに、マウスで選...
-
シート参照で変数を使いたい(EX...
-
エクセルで、加筆修正したセル...
-
複数シートの同じセル内容を1シ...
-
ExcelでTODAY関数を更新させな...
-
別シートのセルを絶対参照にする
-
VBAで、セル(Range)のオブジ...
-
VBAで変数に関数式の結果をセッ...
-
オプションボタンを別シートに連動
-
Excelで表計算結果のみ表示する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
エクセルで条件に一致したセル...
-
Rangeメソッドは失敗しました。...
-
(Excel)あるセルに文字を入力...
-
Excelで複数シートの選択セルを...
-
エクセルで複写のように自動入...
-
Excelシートの保護時にデータの...
-
シート参照で変数を使いたい(EX...
-
別シートのセルを絶対参照にする
-
複数シートの同じセル内容を1シ...
-
Excelでスクロールすると文字が...
-
Aというブックの1というシート...
-
エクセルで20万行あるシート...
-
エクセルの文字
-
エクセルで、加筆修正したセル...
-
VBAで変数に関数式の結果をセッ...
-
ExcelでTODAY関数を更新させな...
-
VBAで、セル(Range)のオブジ...
おすすめ情報