A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
定義不足なので、こんな風にやるのはどうですか
多くの品名とセル色のリストを作るのが大変でしょうから・・・
VBAで見える化して
--手作業
作業用シートを作る
元のシート品名の列をコピーして作業用シートA列に貼り付ける
作業用シート表示のまま 下記のVBAを実行
--VBA
Sub SetUpItemsColor()
Dim rng As Range, n As Long
Dim a As Variant, i As Long
Dim R As Integer, G As Integer, B As Integer
Const colm As String = "C"
Set rng = Range("A1:A100")
Columns(colm).Resize(, 2).Clear
With Application
a = .Unique(rng)
For i = 1 To UBound(a)
If .CountIf(rng, a(i, 1)) > 1 Then
R = .RandBetween(0, 255)
G = .RandBetween(0, 255)
B = .RandBetween(0, 255)
With Cells(n + 1, colm)
.Value = a(i, 1)
.Offset(, 1).Interior.Color = RGB(R, G, B)
End With
n = n + 1
End If
Next i
End With
End Sub
C列に重複している品名が出力されます
(重複していない値は出力されない)
D列セルに左対応の暫定色が付きます
--手作業
必要に応じてセルの色を(D列)手動で設定する
例 ”みかん”をオレンジ ”りんご”を赤
重複していても色を付けたくない品名があればそのセル(C,D列)を削除上に詰める(または、D列該当セルに色を付けない)
次に
作業用シート表示のまま 下記VBAを実行
--VBA
Sub ColorAllocation()
Dim rng As Range, duplicate_item As Range
Dim c As Range, dupCell As Range
Set rng = Range("A1:A100")
Set duplicate_item = Range("C1", Cells(Rows.Count, "C").End(xlUp))
For Each dupCell In duplicate_item
For Each c In rng
If c.Value = dupCell.Value Then
c.Interior.Color = dupCell.Offset(, 1).Interior.Color
End If
Next c
Next dupCell
End Sub
A列の各セルに設定色が付きます
手動で列をコピーし元のシート列に貼り付ける
No.3
- 回答日時:
forループを2重にすれば良いのでは?
for i= 1 to 100
i行目の文字が色付きで無いなら then
色を決める
for j= i+1 to 100
i行目とj行目が同じなら then
i行目とj行目に決めた色を付ける
end if
next j
end i
next i
No.1
- 回答日時:
定義が不足していると思うけれど・・例からすると曖昧ですね
重複している値は最大でいくつ?わかりますよね
もし例の様に指定するなら各アイテムの値とそれに紐づく色をリストなどにする必要がありますね
重複している値同士が単に同じ色で良いなら下記の様なコードで色分けできます
(低い確率ですがランダムで色を指定しているのでバグの可能性があります)
総当たりとフィルタ機能を使う2例(他にも出来そうかな)
Sub Sample()
'シートフィルタ
Dim rng As Range
Dim duplicate_item
Dim i As Integer
Dim R As Integer, G As Integer, B As Integer
Rows(1).Insert shift:=xlShiftDown
Set rng = Range("A1:A101")
rng.Interior.ColorIndex = 0
With Application
duplicate_item = .Unique(rng)
For i = 1 To UBound(duplicate_item)
If .CountIf(rng, duplicate_item(i, 1)) > 1 Then
rng.AutoFilter Field:=1, Criteria1:=duplicate_item(i, 1)
R = .RandBetween(0, 255)
G = .RandBetween(0, 255)
B = .RandBetween(0, 255)
rng.SpecialCells(xlCellTypeVisible).Interior.Color = RGB(R, G, B)
End If
Next
End With
rng.AutoFilter Field:=1, Criteria1:=""
rng.SpecialCells(xlCellTypeVisible).Interior.ColorIndex = 0
rng.AutoFilter
Rows(1).Delete shift:=xlShiftDown
End Sub
Sub Sample1()
'条件による総当たり
Dim rng As Range, c As Range
Dim a As Variant, i As Integer
Dim R As Integer, G As Integer, B As Integer
Set rng = Range("A1:A100")
rng.Interior.ColorIndex = 0
With Application
a = .Unique(rng)
For i = 1 To UBound(a)
If .CountIf(rng, a(i, 1)) > 1 Then
R = .RandBetween(0, 255)
G = .RandBetween(0, 255)
B = .RandBetween(0, 255)
For Each c In rng
If c.Value = a(i, 1) Then
c.Interior.Color = RGB(R, G, B)
End If
Next c
End If
Next i
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- その他(Microsoft Office) EXCELのセルへの色づけ 2 2023/06/07 01:22
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) エクセル関数に詳しい方、教えてください(テキスト関数と条件付書式) 1 2024/04/11 02:44
- Visual Basic(VBA) チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が 3 2023/07/18 18:46
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 17:07
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- グループウェア 重複データの抽出について。 1 2024/01/02 13:25
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
フォントについて教えてください!
みなさんの一番好きなフォントは何ですか? よく使うフォントやこのフォント好きだなあというものをぜひ教えてください!
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
我が家のお雑煮スタイル、教えて下さい
我が家のお雑煮スタイル、教えて下さい! (お汁)味噌汁系? すまし汁系? (お餅)角餅? 丸餅? / プレーンなお餅? あんこ餅?
-
excelVBAについて。
Excel(エクセル)
-
excelvbaでcsvファイルをセルに格納する。
Excel(エクセル)
-
セル内が空白設定なのに#N/Aと出てくるのを回避する方法を教えてください。
Excel(エクセル)
-
-
4
VBA Application.Matchについての質問です
Visual Basic(VBA)
-
5
excelVBAについて。
Excel(エクセル)
-
6
エクセル初心者です 用語とか良く分からないので簡単に説明していただけると幸いです 表を作っているので
Excel(エクセル)
-
7
エクセルでVLOOKUPの入ったセルをカウントしない方法
Excel(エクセル)
-
8
【マクロ】文字列の一部を削除したいの件
Excel(エクセル)
-
9
エクセルで、数字ではない値(文字列)が入った場合の計算式を教えてください。
Excel(エクセル)
-
10
Excelの罫線を消す方法
Excel(エクセル)
-
11
エクセルのデータ整理の方法
Excel(エクセル)
-
12
Excelについて教えてください
Excel(エクセル)
-
13
Excelの計算で差分を求める場合について
Excel(エクセル)
-
14
エクセルマクロについて教えて下さい。
Excel(エクセル)
-
15
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
16
excelVBAについて。
Excel(エクセル)
-
17
excelVBAについて。
Excel(エクセル)
-
18
エクセルシート保護を解除させない方法。
Excel(エクセル)
-
19
UNIQUE関数、配列数式を使わずに品名ごとの集計を求めたい
Excel(エクセル)
-
20
excelVBAについて。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのセルをクリックする...
-
エクセルでデータを消して保存...
-
Excelで項目の種類ごとに番号を...
-
=INDIRECT(RIGHT(CELL("filenam...
-
関数を教えて下さい
-
エクセルの不調について
-
1.5ヶ月分の費用按分 エクセル関数
-
エクセル2021 範囲指定印刷をす...
-
Excelで、日付と数量からなるデ...
-
Excel スクロールバーの長さが...
-
エクセルの関数について 理解度...
-
スプレッドシート(Excelでも良...
-
条件付き書式に設定する関数を...
-
最高値の日付を抽出する方法
-
マクロの処理が遅くなった
-
【マクロ】メッセージボックス...
-
エクセルシート保護を解除させ...
-
45490がどうして
-
【Excel VBA】 テキストファイ...
-
スプレッドシート(エクセル) ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、数字ではない値(...
-
Excel いい方法教えてください。
-
納期順に勝手に並べ替えられる...
-
エクセルで作成した書類の印刷...
-
Excel初心者です、Excelの日付...
-
エクセルで作った表が印刷する...
-
実務の処理について。
-
AM8:30から翌朝8:30まで勤務す...
-
Excelのデータの入力規則の問題...
-
Excelの罫線を消す方法
-
桁をセルで区切って計算をした...
-
スプレッドシート(Excelでも良...
-
VLOOKUP関数で複数条件を設定に...
-
Excel初心者です。 Excelでやり...
-
エクセルでAのセルに「家電」と...
-
ファイルとフォルダの移動につ...
-
XMLHTTP60で前日のデータが取れ...
-
ファイルパスについて。
-
エクセルの数式について教えて...
-
スプレッドシートで適切な条件...
おすすめ情報