• ベストアンサー

エクセルで色のついているセルの数値を他の場所に表示させる方法

エクセルについてわからないことがあるので質問させていただきます。 C列に色つきのセルがあちらこちらにあるのですが、色のついているセルの値だけ他の列に並べて表示させる方法はあるのでしょうか? 少し調べたのですが、マクロを使う方法がありそうなのですが、勉強不足でマクロは全くわかりません。どなたか教えてください。 詳しく書くと C3~C600まで数字が書いてあって、所々セルが黄色いです。 色つきは全部で五個なので順番にI3~I7に表示できればと思います。 またこれと関連した質問で●を表示しているセルの隣のセルの値を選んで他のセルに表示させる方法もありましたら宜しくお願いします。 セルの位置、数や色などを応用させたいので、細かい説明などをご教授願えれば幸いです。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

マクロを組んでみました。 良ければ試してください。 セル(A1:A10)の塗潰しセルのデータをB列に書き出します。 Sub test()   Dim mycell As Range   Dim i As Long   For Each mycell In Range("A1:A10")     If Not mycell.Interior.ColorIndex = xlColorIndexNone Then       i = i + 1       Cells(i, "B").Value = mycell.Value     End If   Next mycell End Sub

takenonoko
質問者

補足

回答ありがとうございます。 できました、すごいですね。ありがとうございます。 ひとつ追加で聞きたいのですが、上のマクロだとB列に書き出すときにB1から書き出すのですが、B3から書き出すようにするにはどうすればよいのでしょうか?

その他の回答 (3)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

>上のマクロだとB列に書き出すときにB1から書き出すのですが、 >B3から書き出すようにするにはどうすればよいのでしょうか? ≪ヒント≫ 下記のところでセルを指定しています。 i = i + 1 Cells(i, "B") かっこの中は(行, 列)となっています。 i の初期値は 0 です。ですから、1回目のループでは、 i = i + 1 は、左辺のiに、1が代入されます。 つまり、セルB1を指定します。 2回目のループでは、i = 1 になっていますから i = i + 1 は、1加算されて、2になります。 というようなことで、iの初期値を、2にしてやれば良いことが理解していただけるでしょうか。

takenonoko
質問者

お礼

遅くなってすいません、()の中をi+2にしてできました ありがとうございました。

  • pasocom
  • ベストアンサー率41% (3584/8637)
回答No.2

色つきセルがたったの5カ所ならそれぞれのセル番地をI3~I7に移すのが最も簡単だと思いますが、それでは何か不都合がありますか。 たとえばI3セルに「=C12」と書くだけ。 >●を表示しているセルの隣のセルの値を選んで・・・。 のほうはVLOOKUP関数がいいでしょう。 =VLOOKUP(●,検索範囲,2,FALSE) で取り出せると思います。 http://allabout.co.jp/computer/msexcel/closeup/CU20060805A/

takenonoko
質問者

補足

回答ありがとうございます。 C3~C600に入れる数値の塊が何十種類もあるんです。sheet1~sheet50くらいあり、しかもそれぞれ色のついているセルがばらばらなので、色つきでできればコピーすれば楽かと考えたんですが。「=C12」とやってしまうと他のsheetだと色つきではないんです。 VLOOKUP関数ですか、ありがとうございます。試してみます。

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

まずは、セルに色が付いている理由はどんなのでしょうか? 条件付き書式などによって、セルの値によってセル背景色が動的に変化するのか? 或いは、小計と言うようなセル自体に意味があり、その為に背景色設定しているのか? 所々である、理由というか規則性が分らないと それ以降の作業は進められません。

takenonoko
質問者

補足

お早い回答ありがとうございます。 色がついているのは規則性がないんです。実験を行って実験値と計算値が近いものを探して色をつけたという具合です。 セル背景色は動的に変化しません。 やはり規則性がないと無理なんですか。

関連するQ&A