• ベストアンサー

VBA 色付きのセルを、隣接セルに値で貼り付けたい

Excel365です。 A列に、100行ぐらいデータが入っています。 ところどころ、黄で塗りつぶされており、色は「黄」のみです。 A列内で、「黄」で塗りつぶしされているセルがあった場合、B列に、値として貼り付けたいです。 例の画像だと、 A2、A4のデータが、それぞれB2、B4に値として貼り付けたいです。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1619/2458)
回答No.1

以下で試してみてください。 変化が無い場合 vbYellow と違うかもしれませんので、マクロに記録で実際に色を塗りつぶしてできたコードを見てそのColorにしてください。 条件つき書式で塗りつぶされたセルも有効です。 Sub Test() Dim mRange As Range For Each mRange In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp)) If mRange.DisplayFormat.Interior.Color = vbYellow Then mRange.Offset(0, 1).Value = mRange.Value End If Next End Sub

nanakora
質問者

お礼

ありがとうございました。 おかげさまで成功いたしました。

関連するQ&A

  • Excel VBAでの値の比較

    お世話になります。 Excel VBAでの値の比較方法についてご教授頂きたく存じます。 下記のような値がセルに入っていると仮定しまして、 セルA1とセルG1を比較する セルA2とセルG2を比較する セルB1とセルH1を比較する セルB2とセルH2を比較する 値が違う場合のみ、A列、又は、B列のセルの色を変更したいのですが・・・。 下記例の場合であれば、B1とA2がセルの色が変われば良いです。    A列 B列    G列 H列 1行  1  1     1   2 2行  2  2     3   2 VBAで実現したいと思います。 何卒、宜しくお願い申し上げます。

  • セルの値と色を変えたい

    OS WIN10 Office2007の環境で A列B列C列で各行は20づづあります 実現したいのは 1. D列に文字列(D2に)Hが入力されると、その行のB列(B2)の値を削除2の行(A2 B2 C2)の背景色を黄色にしたい 2. D列に文字列(D2に)Gが入力されると、その行のB列(B2)の値を削除2の行(A2 B2 C2)の背景色を緑色にしたい 条件付き書式とか設定していますが うまくいきません ご指南ください

  • エクセルVBA 条件にあうときセルを塗りつぶすには?

    エクセルVBA 条件にあうときセルを塗りつぶすには? エクセルVBAについて教えてください。 _________A 列 _________B 列_________C列_________D列 -------------------------------------------- 1行| 基準値_________ 5_____________1____________8 2行| りんご____________1_____________9____________0 3行| みかん___________12___________5____________3 4行| ぶどう____________15___________7____________8 5行| バナナ____________3_____________1____________4 上図のようにデータがあります。 (実物は列行共に膨大です。また条件を4つ以上つける予定なので条件付書式は使えません) 各列の基準値に対して、セルの増減が、0以下のときに黄色に、5から8のとき大きくなるときに赤、9以上のときに青にセルの色を塗りつぶしたいです。 どのようにすればよいでしょうか? B列の場合、基準値が5です。 B2のセルの場合、基準値5と1(B2セル)の増減は-4です。 増減が0以下のときは黄色に、増減が5から8のときは赤に、増減が9以上のときに青にするので、このときは黄色に塗りつぶします。 B3のセルの場合、基準値5と12(B3セル)の増減は7です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 B4のセルの場合、基準値5と15(B4セル)の増減は10です。 増減が9以上のとき青色に塗りつぶすので、このセルは青色に塗りつぶします。 C2のセルの場合は、C列の基準値は1(C1セル)です。 基準値1と9(C2のセル)の増減は8です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 よろしくお願いいたします。

  • VBAでセルに値が入ったときにイベントを起こしたい

    VBAでタイトルのことをやりたいのですがどうやったらいいのか全く思いつきません。どなたかヒントをいただけないでしょうか? B列の10行目から2000行までの間限定で、5行ごとのセルに値を入れたときに動くようにしたいんです。 例としてB10に値が入ったらA10から下に連番をふります。(1から5) B15に値が入ったらその続きを入れたいんです(6から10) どのようにしたらいいでしょうか?

  • VBA セルの色

    エクセルのシート上にボタンを一つ用意し ボタンを押せば (B2:C2)のセルから(B20:C20)のセルの色 を偶数行のセルには白色、奇数行のセルには 黄色を塗り潰したいのですが可能でしょうか?

  • 【VBA】特定の範囲で同じ値を含むセルの色を変える

    Excelのマクロに関して質問です。 特定の範囲(複数行と複数列)内で重複した値(セル内の最初の4文字が同じもの)を含むセルの色を変えたいです。 さらに、重複した値ごとに色分けをしたいです。例えば重複した値[1111]と重複した値[1112]の時では、前者が赤色で後者は青色、更に他の重複する値はまた別の色でというように、 要は、どのセルとセルが重複しているか色分けをして一目瞭然にしたいです。 ※なお特定の範囲は以下の変数を利用します。 dataRow = Workbooks(booksName).Worksheets(sheetsName).Range("A2").End(xlDown).Row 'データの入っている最終行を取得 dataColum = Workbooks(booksName).Worksheets(sheetsName).Range("A1").End(xlToRight).Column 'データの入っている最終列を取得 どなたか知恵をお貸し下さい。よろしくお願いします。

  • 【VBA】特定の範囲で同じ値を含むセルの色を変える

    Excelのマクロに関して質問です。 特定の範囲(複数行と複数列)内で重複した値(セル内の最初の4文字が同じもの)を含むセルの色を変えたいです。 さらに、重複した値ごとに色分けをしたいです。例えば重複した値[1111]と重複した値[1112]の時では、前者が赤色で後者は青色、更に他の重複する値はまた別の色でというように、 要は、どのセルとセルが重複しているか色分けをして一目瞭然にしたいです。 ※なお特定の範囲は以下の変数を利用します。 dataRow = Workbooks(booksName).Worksheets(sheetsName).Range("A2").End(xlDown).Row 'データの入っている最終行を取得 dataColum = Workbooks(booksName).Worksheets(sheetsName).Range("A1").End(xlToRight).Column 'データの入っている最終列を取得 どなたか知恵をお貸し下さい。よろしくお願いします。.

  • 【VBA】特定の範囲で同じ値を含むセルの色を変える

    Excelのマクロに関して質問です。 特定の範囲(複数行と複数列)内で重複した値(セル内の最初の4文字が同じもの)を含むセルに色をたいです。 さらに、重複した値ごとに色分けをしたいです。例えば重複した値[1111]と重複した値[1112]の時では、前者が赤色で後者は青色、更に他の重複する値はまた他の色でというように、 要どのセルとセルが重複しているか色分けをして一目瞭然にしたいです。 ※なお特定の範囲は以下の変数を利用します。 dataRow = Workbooks(booksName).Worksheets(sheetsName).Range("A2").End(xlDown).Row 'データの入っている最終行を取得 dataColum = Workbooks(booksName).Worksheets(sheetsName).Range("A1").End(xlToRight).Column 'データの入っている最終列を取得 どなたか知恵をお貸し下さい。よろしくお願いします。

  •  エクセル関数式により、ある値が二つの値の間にある条件の時に抜き出す方

     エクセル関数式により、ある値が二つの値の間にある条件の時に抜き出す方法。  初めまして。よろしくお願いします。  例) A B C D E F 1赤 2 5 1 2青 9 2 3 青 3黄 1 9 4 黄 4緑 3 4 2 5黒 8 4 9 6紺 2 5 4 紺 7橙 5 1 6 8 9  D列にある値がB列にある値とC列にある値の間に有る場合、A列に有る値をE列に抜き出す(例では2行目、3行目、6行目のDの値がBCの値の間に有るためにEのセルにAの値を表示される)関数式を教えていただきたく、よろしくお願いします。

  • 色の付いたセルのみの選択は可能ですか?

    エクセルで表を完成させた際に、 不要となった複数行を一括して削除したいのですが、 削除する行は、A列のセルに黄色が色づけされています。 このような場合、色の付いたセルのみ選択して削除することは可能でしょうか?

専門家に質問してみよう