• 締切済み

VBマクロ 色の付いたセルを含む行をコピーしたい。

imogasiの回答

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

Sub test01() For Each cl In Range("g:I") MsgBox cl.Address Next End Sub 実行すると、範囲内の全セルを横向きに処理することがわかる。 色つきのセルが見つかった段階で次の行の探索に移るコードがやや 面倒。 それであれば色つきのセルが見つかった段階で行をコピーし貼り付け しループを抜ける(Exit For)ほうが簡単な書き方になるので、下記がよかろう ーー 質問例はG列~R列だがG-I列に変えた。なるべくA列に近い例にせよ。 >G列~R列内 下辺行というものが有るだろう。列指定でなく範囲指定のほうが具体的。それで10行目までの例にした。プログラムで最終行を探す手も有るが。 コピー先の列が質問に書いてない。同じ列からとしたが、質問には心配りせよ。 以上は下記のコードを、質問者の要修正点でもある。 多分1番コード行数が少ないのではないかな。 ーーーー Sub test02() Dim sh1, sh2 As Worksheet Set sh1 = Worksheets("sheet1") Set sh2 = Worksheets("sheet2") For i = 1 To 10 For j = 7 To 9 'G-I列の例 If sh1.Cells(i, j).Interior.ColorIndex <> xlNone Then MsgBox sh1.Cells(i, j).Address d = sh2.Range("i65536").End(xlUp).Row sh1.Range("G" & i & ":I" & i).Copy sh2.Cells(d + 1, 7) 'I列から Exit For End If Next j Next i End Sub

関連するQ&A

  • VBで条件に合ったセルを含む行に色を付けたいのですが…

    VBで条件に合ったセルを含む行に色を付けたいのですが… 条件に合ったセルを含む行に色を付けたいのですが… いつもお世話になってます。 VB初心者ですが、こちらでご指導頂きながら勉強しております。 今回もアドバイスお願い致しますm(__)m G列~R列で"未作業"という文字が入ったセルがあれば、 その行に色を付けたいのです。 ただし、同じ行に"発注済"という文字が入ったセルがあれば、 行に色は付けなくてもよいです。 さらに、色の付いた行のみ次のシートにデータコピーしたいのですが… 何かよい方法はありますでしょうか?

  • セル内の2行をそれぞれ別のセルにコピーするマクロ

    A列にデータが入力されていたとします。 そのデータのうち、複数のセルで改行されて2行になっています。 改行されているセルをサーチし、1行目をB列のセルに、2行目をC列のセルに分割してコピーしたいと思います。 この様な方法は、マクロで可能でしょうか。 適切な関数があれば、ご教授いただきたいと思います。

  • マクロ セルの色を含むシート間のコピー貼り付け

    このようなことが、できるでしようか。お教え下さいませんか。 シート1のB2~P列の最終行を取得してコピー、シート2のA2のO列の間に貼り付けたい。 但し、シート1は関数処理していて、シート2には値だけを貼り付けたい時のマクロはどのようなコードにすればよいでしょうか。 また、罫線はそののままコピーして貼り付けたい。 更に、シート1のB2からB列の最終行までは、黄色のセルになっているので、それもシート2のA2~A列の最終行まで貼り付けることってできますか。 お教え頂けますでしょうか。よろしくお願いします。

  • 色なし行のコピー

    sheet1にA1:E700の表が有り、B列からE列までセルを黄色にした行がランダムに幾つも有ります。このとき、sheet2のA1から上に詰めて色なし行だけをコピーする記述教えてください。(例えば3行目がB列からE列まで黄色のセルだったら3行目はコピーしない)、よろしくお願いします。

  • 他シートの指定項番の行にコピーするマクロを作りたい

    現在Sheet1のA21からQ21の17個のセルにデータが入っています。(これは同じシート内の データが飛ぶようになっているので厳密には計算式が入っています。なぜならその個々のデータのセルが点在しているためです)また、E14に項番を入力するセルがあります。 そしてSheet2のA列に項番が振られており、B~R列のA行に17個の項目名が入っています。 このエクセルで、E14に項番を入れて実行すれば、Sheet1のA21からQ21のデータを Sheet2の先と同じ項番の行のB~R列にコピーするマクロを作りたいのですが うまくいきません。どのようなコード書けばよいのでしょうか;

  • Excelマクロで行を分割してコピーしたいのですが・・・

    いろいろなサイトで調べたのですが、方法が見つからずご質問させて頂きます。 Excelシートの中で値が入っている行まで順番に読み、A列のセルの値が'東京'かつB列の値が'2'以上の行があった場合に、その行をB列の値の数だけその行の下にコピーで挿入したいのですが、どのようなマクロにすれば良いかご教授頂けないでしょうか? 例) セルA1='東京' セルB1='3' の場合、 ---------------------------------- セルA1='東京' セルB1='1' セルA1='東京' セルB1='1' セルA1='東京' セルB1='1' ※セルB1を値の数だけ分割し、なおかつ値を'1'にする ※分割が終わったら、分割元の行を削除する ※その他の列の値はそのままコピーする 以上、宜しくお願い致します!

  • 任意の複数行をコピーするマクロ

    VBを勉強中の初心者です。 マクロの自動記録でシート1の5~6行目をシート2のセルA3へコピーすることはできました。マクロの内容は   Sheets("Sheet1").Select   Rows("5:6").Select   Selection.Copy   Sheets("Sheet2").Select   Range("A3").Select   ActiveSheet.Paste となっていました。 上記のシート1の5~6行目を任意の複数行(例えば A1 に 200306 A2 に 200307 A3 に 200307 A4 に 200307 A5 に 200308 A6 に 200309 A7 に 200309 のデータがあった場合、コピーしたい年月が 200307 の場合は A2 ~ A4 をシート2のA3へ)でコピーしたいのですが、どうすればよいのかどなたか教えて下さい。よろしくお願いします。

  • (Excel2003)すぐ左の最後の行までコピーするマクロを教えてください

    マクロ初心者です。 表記の件に就き、何卒ご教授の程、宜しくお願いします。 ・エクセルで以下のような表があるとします。 __A__B__C__D→ 1_数量_単価_金額 2_4,000_100_=B3*C3 3_5,000_200_ 4_3,000_120_ 5_5,000_160_ ↓ ・そしてこのAとB列が毎回下に増えるとして、C2セルの数式を  B列の最後の行までコピーするマクロを教えて下さい。 (実際は、C2セルにVLOOK関数が入っており、最終行は何千行まであります) 何卒ご教授の程、宜しくお願い申し上げます。 

  • excel色のついているセルだけをコピーするマクロ

    お世話になります。エクセル2013です。 Y列にある色のついているセルだけをコピーするマクロを作成したいのですが、ネット上によく似たモノ?もあるのですが×です。私にはできずギブアップしています。 ※コピーしたあとは別のソフトで利用します。 どのようなVBAになるのかご教授いただければ幸いです。

  • マクロでコピーしたセルを4行目毎に挿入する方法

    こんにちは!よろしくお願いいたします。 Excel2003で計算式が入力されている1行をコピーして 4行目にコピーしたセルを挿入したいのですが、複数 あるため、マクロを作りたいと思っています。   A   B  C 1 氏名 住所 件数  → 計算式が入力されている 2 氏名 住所 電話 3 氏名 住所 郵便 4 氏名 住所 ふりがな            → 1行目の計算式も含めコピーしたい この操作を繰り返すマクロを作成したいと思っています。 マクロは初心者です。ご指導よろしくお願いいたします。