
No.3ベストアンサー
- 回答日時:
>1色だけの場合は教えていただいた方法で思い通りの結果を得られました
そういうマクロではありませんが、まぁどのみち
>色は、赤、青、黄色の3色で、D列で判断できます
エクセル2010は沢山の色が使えるので、あなたが言ってる赤青黄色が具体的にどの色なのか、ご自分で調べて正しくマクロに反映しないといけません。
とりあえず動くやり方を回答しておくので、あとはご自分で適切に応用してください。だらだら実は実はといつまでも付き合ってと言われても、困りますので。
手順:
A1セルにあなたの赤を塗る
B1セルにあなたの青を塗る
C1セルにあなたの黄色を塗る
sub macro2()
dim r as long
for r = 2 to cells(rows.count, "D").end(xlup).row
if cells(r, "D").interior.colorindex <> xlnone then
cells(r, "U") = iif(cells(r, "D").interior.color = range("A1").interior.color, 1, "")
cells(r, "V") = iif(cells(r, "D").interior.color = range("B1").interior.color, 1, "")
cells(r, "W") = iif(cells(r, "D").interior.color = range("C1").interior.color, 1, "")
end if
next r
end sub
No.2
- 回答日時:
こんばんは!
>任意の行を見やすくするために背景色を塗りつぶしてあります
>1シートのレコード数も大量なので・・・
というコトですので、Excel2007以降のバージョンだという条件ですが、「色フィルタ」でやってみました。
(A列には必ず色がついているとします)
前提条件として塗りつぶしは同じ色だとします。
尚、何色に塗りつぶされているのか判らないので最初にヒットしたセルの色でフィルタをかけています。
1行目が項目行でデータは2行目以降にあり、
1行目項目の「集計対象」の列に「1」を表示するようにしてみました。
Sub Sample1()
Dim i As Long, j As Long, lastRow As Long, c As Range, r As Range, myColor
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Set c = Rows(1).Find(what:="集計対象", LookIn:=xlValues, lookat:=xlWhole)
j = c.Column
For i = 2 To lastRow
If Cells(i, "A").Interior.Color <> xlNone Then
Exit For
End If
Next i
myColor = Cells(i, "A").Interior.Color
Range(Cells(2, j), Cells(lastRow, j)) = ""
Range("A1").AutoFilter Field:=1, Criteria1:=myColor, Operator:=xlFilterCellColor
Range(Cells(2, j), Cells(lastRow, j)).SpecialCells(xlCellTypeVisible) = 1
ActiveSheet.AutoFilterMode = False
End Sub
こんな感じではどうでしょうか?m(_ _)m
この回答への補足
ありがとうございます。
教えていただい方法を、今ひとつひとつ意味を調べながら勉強しています。
昨日、マクロの勉強を始めたばかりなのでまだわからないことだらけです。
No.1の方の補足にも書きましたが、背景色が1色だけでなく、3色でした。
それぞれルールに基づいて背景色を赤、青、黄色の3色で設定しており、それぞれが集計対象で、フラグを立てるセルを3列用意しました。
赤・・・U列
青・・・V列
黄・・・W列 としました。
まだtom04様に教えていただいたコードを理解できていない段階で恐縮ですが、お時間がございましたら色ごとにフラグを立てる方法も教えて下さい。
宜しくお願いします。
No.1
- 回答日時:
ご利用のエクセルのバージョンも不明のご相談ですが、エクセル2007以降を使い、オートフィルタを使って「所定の色で塗りつぶされている」あるいは「塗りつぶされていない」で絞り込んで、まとめて処置してしまうのが一番お手軽な方法です。
で。とりあえずご相談の直接の回答として。
絞り込みたい条件も不明のご相談なので、ひっくるめて「塗られてないを除く」を対象とする事にします
ご利用のシートの配置状況も不明のご相談なので、ふつーに1行目にタイトル行、2行目からデータ、A列で全データの記入範囲を調査できるということにします
とりあえずふつーに「A列に塗ってあるか無いか」だけで判定できることにします
「集計対象という名前」を毎回どこかで探さなきゃならないのは別のご相談という事にして、とりあえず固定の列に記入することにします
sub macro1()
dim r as long
for r = 2 to cells(rows.count, "A").end(xlup).row
cells(r, "I") = iif(cells(r, "A").interior.colorindex = xlnone, "", 1)
next r
end sub
この回答への補足
エクセルやマクロの知識がないため、曖昧な質問の仕方ですみませんでした。
エクセルは2010を使用しています。
それと、こちらで相談を投稿してから、背景色が3色使用されているファイルも出てきてしまいました。
よく調べてから投稿するべきでした。
すみません。
1色だけの場合は教えていただいた方法で思い通りの結果を得られました。
ありがといございます。
色が3色の場合はどうしたらよいでしょうか?
色は、赤、青、黄色の3色で、D列で判断できます。
フラグを立てるセルは、
赤・・・U列
青・・・V列
黄・・・W列 で設定しました。
引き続きご指導いただけますようお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
色のついたセルにフラグを立たせることはできるでしょうか?
Word(ワード)
-
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
Excelで色付けしたセルに対し対応するセル値で返す方法
Excel(エクセル)
-
-
4
セルに特定の色が付いていたら計算式を発動したい
Excel(エクセル)
-
5
セルの色によって条件文をつけることはできますか?
その他(Microsoft Office)
-
6
VBAで色の付いているセルの行削除
Excel(エクセル)
-
7
excelのデータで色つき行の抽出方について教えてください
Excel(エクセル)
-
8
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
9
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
10
VBAにてオートフィルターの条件に背景色","塗りつぶしなし"を指定したい"
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
背景色の有無を判断をして別の...
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセルでオートフィルタのボ...
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
エクセルで、2種類のデータを...
-
エクセルのオートフィルタで最...
-
エクセル 時間帯の重複の有無
-
EXCELで 一桁の数値を二桁に
-
隣のセルに入力したら自動的に...
-
エクセルで文字が混じった数字...
-
【エクセル】区切り位置で分割...
-
Excelのオートフィルタで非表示...
-
【VBA】特定列に文字が入ってい...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
Excel関数:「0」を除いた標準...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
背景色の有無を判断をして別の...
-
VBA 動作の後、動作した行のA...
-
このマクロを訂正できますでし...
-
エクセルマクロの使い方。繰り...
-
B列にA列の数字をかけた数字を...
-
エクセルVBA VLOOKUPについて
-
エクセルでセル内の特定数値を...
-
任意のセルに小計、合計と入力...
-
結合のループ処理のマクロ
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセルでオートフィルタのボ...
-
エクセルで、2種類のデータを...
-
2つのエクセルのデータを同じよ...
-
SUMIFとCOUNTIFを合わせたよう...
-
Excelで半角の文字を含むセルを...
-
EXCELで 一桁の数値を二桁に
-
エクセル(勝手に太字になる)
おすすめ情報