
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で質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセル 表の移動 2 2023/04/05 20:29
- Excel(エクセル) エクセルのマクロを教えてください シート内の背景色が赤のセルだけを残して 他のセルは削除したいです。 3 2023/07/12 12:26
- その他(Microsoft Office) マクロについて教えて下さい 3 2022/05/28 15:36
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Excel(エクセル) エクセル マクロ 行や列を削除しても 常にC3セルに背景色を維持 6 2023/04/04 02:07
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Visual Basic(VBA) VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカウントできる、VB 2 2022/04/06 21:33
- Excel(エクセル) マクロ 一定の範囲内での特定セルの色を変える 2 2022/04/07 15:04
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- その他(Microsoft Office) googleスプレットシートで左右の数値を比較して色判別させたい 2 2022/06/06 18:33
このQ&Aを見た人はこんなQ&Aも見ています
-
色のついたセルにフラグを立たせることはできるでしょうか?
Word(ワード)
-
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
セルの色によって条件文をつけることはできますか?
その他(Microsoft Office)
-
-
4
Excelで色付けしたセルに対し対応するセル値で返す方法
Excel(エクセル)
-
5
セルに特定の色が付いていたら計算式を発動したい
Excel(エクセル)
-
6
excelのデータで色つき行の抽出方について教えてください
Excel(エクセル)
-
7
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
8
VBAにてオートフィルターの条件に背景色","塗りつぶしなし"を指定したい"
Excel(エクセル)
-
9
B列の最終行までA列をオートフィル
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルマクロの使い方。繰り...
-
B列にA列の数字をかけた数字を...
-
VBA 動作の後、動作した行のA...
-
このマクロを訂正できますでし...
-
EXCELで2つの数値のうち大きい...
-
Excelで隣のセルと同じ内容に列...
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
お店に入るために行列に並んで...
-
EXCELで 一桁の数値を二桁に
-
エクセルのまとめてカッコをつ...
-
SUMIFとCOUNTIFを合わせたよう...
-
Excel 文字列一部含む場合の戻...
-
VBA エクセル EXCEL マクロ
-
エクセルで最初のスペースまで...
-
Excel関数:「0」を除いた標準...
-
エクセルのカウント関係の関数...
-
エクセルのカウントについて
-
エクセルの合計(SUM)の設定に...
-
エクセル フィルタ 上位について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
背景色の有無を判断をして別の...
-
任意のセルに小計、合計と入力...
-
結合のループ処理のマクロ
-
エクセルのユーザー定義で
-
Excelで全シートから検索し列で...
-
Excelで作成したフォームからデ...
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセルでオートフィルタのボ...
-
EXCELで 一桁の数値を二桁に
-
エクセルで、2種類のデータを...
-
SUMIFとCOUNTIFを合わせたよう...
-
エクセルで最初のスペースまで...
-
エクセルのオートフィルタで最...
-
2つのエクセルのデータを同じよ...
-
Excel強制終了
-
エクセルで文字が混じった数字...
-
Excelで中央揃えが出来ない?
おすすめ情報