[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『染めたセルの抽出方法』(マクロ 初心者)
今、仕事でセルに色をつけて色管理しているデータがあって、
その色をつけたセルの項目を別シートや別ファイルに
項目を書き出したいんですが、できますか?
ex)
A B C D E
1 A1 A2 A3 A4
2 01 ■
3 02 ■ ■
4 03
例えば↑のような表でA2の01、02とA4の02という項目の箇所のセルを
色を染めた場合、別シートか別excelファイルのA列1行目にA2 01 A2 02 A4 02と表示させる
という感じです。セル内には、基本何もデータは入りません。
わかりにくくてすみません。(■は、色を染めたセルです。)
マクロで可能ですか?
< 使用 Excel:Excel2010、使用 OS:Windows7 >
色塗りセル(=網掛けセル?)にデータを入れていないとのことですが、現表のセルの表示方法について、
ダイレクトに網掛けを行うのではなく、条件付き書式をによる(条件としてセルに特定の値が入力された
場合)網掛けを行う方法に変更することは可能ですか。
うろ覚えで恐縮ですが、セルの網掛けの有無(あるいは種類)を検索することは結構大変だったかと記憶して
おります。
データの再投入の手間がどの程度なのかがわかりませんので、実現性に乏しいお話でしたらご容赦ください。
(ryopo^2) 2014/09/01(月) 15:50
種類はめんどくさかったと思います・・・ ただの網掛けなら簡単ですが、何色というのはまた大変です。 色がついている、いないだけでよければこんな感じに出来ると思います。
Sub しょ() Dim 列項目 Dim 行項目 With Application 列項目 = .Transpose(.Transpose(Range("A1", Cells(1, Columns.Count).End(xlToLeft)).Value)) 行項目 = .Transpose(Range("A1", Cells(Rows.Count, "A").End(xlUp))) End With Dim r As Long, c As Long Dim Result With CreateObject("Scripting.Dictionary") For r = 2 To UBound(行項目) For c = 2 To UBound(行項目) If Cells(r, c).Interior.ColorIndex <> -4142 Then .Add 列項目(c) & " " & 行項目(r), "" End If Next c Next r Result = Application.Transpose(.keys) End With Sheets.Add after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Range("A1").Resize(UBound(Result, 1)).Value = Result End Sub
(稲葉) 2014/09/01(月) 17:23
(マクロ 初心者) 2014/09/03(水) 12:54
前回と列と行が逆に組み換わっていました。
行は、A行にA1〜A7、B1〜B7がK7まで続いてます。
列は、01〜10までの項目があって、それぞれ01の下にはパンダ、ブタ、ネコ、タヌキの項目があり、
その下には、それぞれパンダ1、2 ブタ1、2あります。
今回も、01のパンダ1のセルやブタ1や2のセルが染めてあります。
01 02 〜
パンダ ブタ ネコ タヌキ パンダ ブタ 〜
1 2 1 2 1 2 1 2 1 2 1 2〜
A1■ ■ ■
A2 ■
A3 ■ ■
A4 ■ ■
染めたセルを一旦、違うシートに書き出して、確認して(指示者が)OKならば、ボタンをぽんっと押すと、
違うファイルのそれぞれパンダシート、ブタシート内のアドレス欄にA1 01などばーっと一覧に反映するみたいな事は、できないでしょうか??
ちなみに「パンダシート1」「パンダシート2」「ブタシート1」「ブタシート2」は、こんな感じです。↓
名前 日にち ○× アドレス 完了日 コメント
佐藤 9/20 ○ TEN 0101 A1 01 9/25
佐藤 9/20 ○ TEN 0101 A1 01 9/25
佐藤 9/20 ○ TEN 0101 A1 01 9/25
↑こんな表でアドレス内のA1 01 の欄に染めたセルのアドレスをそれぞれ表示したいです。
・他にもネコとタヌキという項目もありますが、ネコ&タヌキは、不要です。
・基本的に、染めてあるか染めてないかだけの認識でOKです。色の判別は不要です。
すいません。手数ですがご教授くださいm(_'_)m
(マクロ超初心者) 2014/09/22(月) 14:39
表がどうなっているのか詳細を教えてください。 [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [1] 1 2 [2] パンダ ブタ ネコ タヌキ パンダ ブタ ネコ タヌキ [3] 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 [4] A1 ■ ■ ■ [5] A2 ■ [6] A3 ■ ■ [7] A4 ■ これでいいんですか?
>染めたセルを一旦、違うシートに書き出して、確認して(指示者が)OKならば そのシートを見て確認するのでは都合が悪いのですか?
>↑こんな表でアドレス内のA1 01 の欄に染めたセルのアドレスをそれぞれ表示したいです。 TENとか0101とか何のことか分かりません。 「01」は何行目のことですか? 名前や日付もどこから取ってきているのですか?
>パンダシート1 は1行目の「1」ですか? それとも3行目の「1」ですか?
仕様が全く分からないのでどうにも出来ません。
(稲葉) 2014/09/22(月) 15:18
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.