• 締切済み

結合したセルの色つきセルのカウント

大量に描いた色つきセルのカウントでつまずいています       03OR07で結合されたセルを1カウントさせるにはどうすればよろしんでしょうか?                         2つのセルが結合されたセルは2個、4つになると4個でカウントしちゃいます。                           アドバイスおねがいします。 

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

>ただ、もうすこしアドバイスが欲しいです。 どんなアドバイスが欲しいのでしょう? ソフト名やバージョンも書かれていないようですし まあ、セルや結合とあるので勝手にEXCELかなとバージョンは分りませんが >2つのセルが結合されたセルは2個、4つになると4個でカウントしちゃいます。 と、あるので、ある程度マクロが組めるのかなと判断し あえて、コメントを控えたまでです ある程度マクロが組めれば分る程度のベタなマクロなので と、初心者ということが判明した所で 関数ではセルの書式を捉えることが出来ないので、関数で色を数えることは出来ない したがってマクロを使用するしかない >セルの色は赤等、数種類混在しています。 と、あるが、EXCELの扱える色は256×256×256と数万色あるので 色を指定してもらわないと >結合セルと非結合セルの合計がセル上で表示できるようにするにはどうすればいいかがわかりません。 セルを指定しないと、何処に出力していいのか分りません 検索範囲も決めた方が良いですよ、シートには256×65536セル(EXCEL2003以前)ありますから この辺をハッキリして戴かないと希望の回答にならないと思いますよ '無駄になるとは思いますが '分らない所は適当に決めました '赤、青、黄を数えるマクロ 'B1、B2、B3にそれぞれ結果を表示 Sub Macro1() Dim Rng As Range Dim CoIn As Variant Dim Co As String Dim i As Integer Dim x As Long For Each CoIn In Array(3, 5, 6)  '色指定(今回は面倒なのでインデックスで指定) x = 0 For Each Rng In Range("a1:z1000")  '検索範囲の指定 If Rng.MergeArea(1).Address = Rng.Address Then If Rng.Interior.ColorIndex = CoIn Then x = x + 1 End If Next Rng Select Case CoIn Case 3 i = 1 Co = "赤" Case 5 i = 2 Co = "青" Case 6 i = 3 Co = "黄" End Select MsgBox "セルA1:Z1000の範囲のうち" & vbCrLf & "セルの色が" & Co & "なのは " & x & " 個です。" Cells(i, 1).Value = Co Cells(i, 2).Value = x  '結果の書き込み Next CoIn End Sub 後はご自分で

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

'excel vba Sub Macro1() Dim Rng As Range Dim x As Long x = 0 For Each Rng In Range("a1:z1000") If Rng.MergeCells = True Then If Rng.MergeArea(1).Address = Rng.Address Then If Rng.Interior.ColorIndex = 3 Then x = x + 1 End If End If Next Rng MsgBox "セルA1:Z1000の範囲のうち" & vbCrLf & "結合されたセルで、色が赤なのは " & x & " 個です。" End Sub

rissin
質問者

お礼

丁寧な回答、ありがとうございます。 ただ、もうすこしアドバイスが欲しいです。 質問が不足してました。 現在、結合セルと非結合セルが混在したシート上でデータ作成しています。セルの色は赤等、数種類混在しています。 結合セルと非結合セルの合計がセル上で表示できるようにするにはどうすればいいかがわかりません。色も数種類あって個別合計が欲しいのです。 レスキューミー!