- 締切済み
塗潰されたセルと同じ色の数字を重複無しで縦に並べる
いつもお世話になっております。 ご存じの方がお見えでしたらご回答をよろしくお願いします。 【質問】 添付図の様に5×5マスが4つあり、それが縦に6つあります。 5×5マスの4つの中には、黄色、緑色、赤色、青色の4色のいずれかでセルが 塗り潰されています。M列~P列に4色(黄色、緑色、赤色、青色)の色があります。 (1)5×5マスの4つの中で同じ色で塗潰されたセルの数字を重複無しでM列~P列に4色のいずれかに縦に昇順に並べる。 (2)上記(1)で縦に4つに並べた数字をR列に縦1列に重複無しで縦に昇順に並べる。 【注意事項】 ・5×5マスが4つの中で、4色全ての塗り潰しがある訳ではありません。 ※最低、黄色のみという場合があります。 ・5×5マスが4つの中で、塗り潰されているセルは毎回異なります。 ・使用するエクセルは2016です。 以上、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kkkkkm
- ベストアンサー率66% (1719/2589)
同じようなのを以前見たことがありますよ。 こんな感じでいけるのではというイメージだけで。 なお、これ以上先に進みません。 実際には一部設定がないので正常に動作しません。 Sub Test() For i = 1 To 6 For j = 1 To 4 For Each c In Range("5x5の範囲") For k = M列 To P列 If Cells(Row, k).DisplayFormat.Interior.Color = c.DisplayFormat.Interior.Color Then Cells(RowCount, k).End(xlUp).Offset(1, 0).Value = c.Value Cells(RowCount, "R").End(xlUp).Offset(1, 0).Value = c.Value End If Next Next Next Next 'R列及びM列~P列のデータをエクセルの機能の重複の削除と並び替えをVBAで利用 End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
VBAでやれば、むつかしくない(ロジックが繰り返しだけでできる)ようだ。 しかし、掲示画像がぼやけて読者にはよくデータが見えない。 質問者がエクセルVBAを経験あるのかどうかが問題。 その数年に、数列のマス目の色付けのカウントとかの質問が、同一人からかもしれないが、形を変えて、出ている。 このニーズはどういうところから来るのか。宝くじか、実験がゲームか、何が背後にあるのか 必要理由の説明なく、自分も結果だけ検証して、勉強しておらず、回答者を、VBAコードを作る小間使いのような扱いで、質問するのは、回答する気がしないのだが。
- m5048172715
- ベストアンサー率16% (860/5261)
ユーザーがエクセルの達人ならVBA抜きで出来そうだけど、VBAを使った方がコードを見やすくて簡単にできそうな気がする。 セルの色判定、 セルの読み書き、 forループ を組み合わせて使えればVBAで作れそうだ。