• ベストアンサー

Excel 2007 マクロ セルの色のカウント

Excel 2007 マクロ セルの色のカウント 表に複数の色がセルについています。 色がついているセルの隣の列に「1」を返したいです。 どのようなマクロになりますでしょうか。 色がついている列は1行でC列になります。 ご回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

>色がついている列は1行でC列になります。 C列に一箇所しかないということでしょうか。 一箇所の場合 Sub Macro1() For i = 1 To Rows.Count If Range("C" & i).Interior.ColorIndex <> xlNone Then Range("D" & i) = 1 Exit For End If Next i End Sub 複数箇所の場合 (C列にデータが入力されているのが前提ですが) Sub Macro1() For i = 1 To Cells(Rows.Count, 3).End(xlUp).Row If Range("C" & i).Interior.ColorIndex <> xlNone Then Range("D" & i) = 1 End If Next i End Sub ではどうでしょうか。

hyogara777
質問者

お礼

早い回答ありがとうございます。シンプルなマクロで非常に助かります。うまくいきました。

その他の回答 (1)

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

一例です。 Sub test()   Dim myRange As Range   Dim c As Range      Set myRange = Intersect(ActiveSheet.UsedRange, Columns("C"))      myRange.Offset(, 1).ClearContents   For Each c In myRange     If c.Interior.ColorIndex <> xlNone Then       c.Offset(, 1).Value = 1     End If   Next c      Set myRange = Nothing End Sub

hyogara777
質問者

お礼

ご回答ありがとうございます。参考にさせて頂きます。