• ベストアンサー

エクセルで赤い字のセルを抽出

表題どおりなのですが、エクセルでA行に5千個の項目があり、その中に赤い字で書かれたセルがあります。この赤い字で書かれたセルのみを別のシートに抽出したいのですが、VBAでも関数でも結構ですのでやり方のわかる方がいらっしゃいましたら、ご教授よろしくお願いいたします。

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

  • ベストアンサー
  • kojitti
  • ベストアンサー率32% (449/1386)
回答No.1

以下でどうでしょうか? A列のプロパティで赤色だったらその内容をB列にコピーしています。 Sub Red() For i = 1 To 65536 If Range("A1")(i) = "" Then Exit For If Range("A1")(i).Font.ColorIndex = 3 Then Range("B1")(i).Formula = Range("A1")(i) Next i End Sub

boss715
質問者

お礼

完璧ですね、別シートではないですが十分です。本当にありがとうございました。 ここで赤い色をFont.ColorIndex = 3で表していますよね。他の色だったら、(例:青、黄色、緑、黒、)だと何に設定すればよいのでしょうか?

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

Sheet1からSheet2へ分離します。 Sub test01() Dim s1, s2 As Worksheet Dim cl As Range Set s1 = Worksheets("sheet1") Set s2 = Worksheets("sheet2") j = 1 For Each cl In Selection ci = cl.Font.ColorIndex Select Case ci Case 3 s2.Cells(j, "A") = cl j = j + 1 Case Else End Select Next End Sub ●ColorIndexは論より証拠 Sub test02() For i = 1 To 45 Cells(i, "B").Interior.ColorIndex = i Next i End Sub を実行してください。どんな色か実際にわかります。

関連するQ&A

  • Excelにおけるデーター抽出

    Excelのシートに記載されている内容は次の通りです。 (1) セルA5~A60の間に1~56の昇順の番号 (2) セルB5~B60には氏名 (3) セルC5~C60には○、×、△の記号 このシートからC列が ○ の記号が付与されている者だけの氏名を別のシートのB7~B**の間に抽出するのですが、抽出したシートの行に空白ができないようにするには式をExcel関数で作成することは可能でしょうか? 若し、不可能でしたらマクロで行う場合のプログラムを教えて下さい。

  • エクセル 関数 別シートへの抽出

    エクセル関数について質問します。 「数値の入ったセルだけを、その行ごと丸々別シートに抽出する方法」 について教えてください。 例、C列に空白セルと1、2や3など、数値の入ったセルがあります。空白セル以外の数値の入ったセルを、その行ごと別シートに抽出したい。 C3とC5に数値が入ってる→3行目と5行目を別シートに抽出する。 このようなことは関数でできるのでしょうか? マクロでないと無理でしょうか? お力をお貸しください。 よろしくお願いします。

  • エクセルで抽出なんですが。。。

    エクセルで抽出なんですが。。。 1つのファイルにAというシート Bというシート があります。 それぞれのシートの中に共通した受注番号を振ってる列があります。 Bのシートでその受注番号の行に確定した金額をいれたら、 Aのシートにも反映させたいのですが、 どういう関数をつかえばよろしいでしょうか? 場所は決まっていませんので、 共通の項目(受注番号)を条件に使いたいと思ってるのですが・・・ すみませんが、よろしくお願いします。

  • excelで○○と入力されているセル番地を返す方法

    excelについて質問です。 シートAに下記の記述をします。    A    B 1 項目名 セル番地 2 ○○  B7 のような形で、シートBからセル番地を引っ張ってくる方法はありますでしょうか。 セル番地が難しいようであれば、行、列を返す形でもよいです。 上手く質問ができず、申し訳ありません。 できればVBAは使わず、関数で処理できるとベターです。 宜しくお願いいたします。

  • 複数セルから特定の文字を検索して、その対象セルを抽出したい

    エクセルで関数、VBAを使用して、下記のようなDATA抽出を行ないたいのですが、どなたか、ご指導いただけないでしょうか。 たとえば、2種のシートが、各々、 <シート1>   列A   列B 行1 A1 ABCD-123 行2 B23 EFGH-456 行3 C456 あいうえお <シート2> 列A 列B 列C  列D  列E 行1 A1 A2 A3 行2 B23 C5 A4 行3 A5 B2 C456 ・・・・・・・となっている場合、 <シート2> の列D  行1 へ "A1"と入力(記載)がある場合、列Eに   ”ABCD-123”と表示(抽出)を行ないたい。 セルには、文字、数字、記号が入ります。 よろしくお願い致します。

  • 結合セルを含む範囲での抽出や並べ替えについて

    このサイトのQ&Aを保存してあるホルダーが満杯状態であるため必要部分を別フォルダ(エクセル2007)にコピーで移動整理をしております。 約8000行に至り、整理をすべくA列を項目ごとにセル結合をし並べ替え または項目ごとの抽出を、と思ったらできません。 セルの結合を解除し例えば、50行にわたるQ&Aであれば、関数1とか書式2とかのタイトルをその行数分だけ入れて、類似項目を集めるしか方法はないのかな?とも考えていますが、その場合、画像(20行くらいになっているものもあります)はどうなってしまうのだろう?という疑問もあります。なにか策はあるでしょうか。 そもそも当初から項目ごとのシートをつくり、類似するQ&Aを検証しながらコピーを挿入する、というやり方にすべきだったかなと後悔しています。 (コピーして移動するということすら知らなかった時期の印刷したものがダンボール1箱に近いだけあり見たいときに役立たずの状態です)

  • セル内の条件にあった文字の抽出

    お願い致します。 A1に 1, A2に 3, A4に5, A7に2 とあり、A1:A7の4つのセルを数字として セルごとにひとつずつB1*B4に抽出したいのですが、 どのようにすれば良いでしょうか?できればVBAは使わずに エクセルの関数で処理したいです。 どうぞ宜しくお願い致します。

  • エクセルVBAでフィルタ抽出部分のみのコピー

    エクセルVBAで売上帳を作成していますが、オートフィルタでデータ抽出した後、表示されている行のみをコピーして別シートに貼りつけるにはどうすればよいのでしょう? 別シートは指定したセルに値のみの貼り付けをしたいと思っています。 宜しくお願いします。

  • Excelセル内の改行を含む文字列の1行目抽出

    Excelセル内の改行を含む文字列があり、関数を使って、その1行目だけ抽出したい。 たとえば、下記のような式を書きました。「改行コード」おかしみたいで動作しません。 Left("A1", Find(vbCrLf, "A1")) (改行コードをさがして、そこまでの文字列を切り取る) これをVBAで書く方法があれば、コードを教えてください!

  • Excelで1つのセルに3つの情報を入れた情報の抽出方法は?

    いつも教えてもらいありがとうございます。 今Excelにて1つのセルの中に3つから4つの情報が半角スペースで開けて入れているのですが、 別シートにそれらを分けて1つのセルに1つの情報を入れたいのですが、 1つ目の情報は文字列操作関数SEARCHとLEFTの組み合わせで 抽出することが出来たのですが、2つめ以降が上手くいきません。 どうすればできますか教えてください。

専門家に質問してみよう