• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コード追加編集方法は?36回のコピ&べを、1度のマクロ実行で行う)

コード追加編集方法は?36回のコピ&べを、1度のマクロ実行で行う

このQ&Aのポイント
  • 初心者です。WinXP、Excel 2002を使用。ブックの各シート(1~36シート、1~24シートの時もあり)の最後から3行目だけを、シート名「集計1」に上から順次書き込む方法を教えてください。
  • また、各シートの最後の行から3行目全部だけを、「集計1」のセルA2から順次書き込んでいくようにしたいです。
  • 上記の要件を満たすためのVBAコードの例を教えてください。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

こんな感じでしょうか? 一番左のシートから最後のシートの1つ前までを最終シートに纏めます。 シート枚数は関係ありません。 各シートのA列データが3行未満だと処理しません。 Sub Test() Dim i As Integer On Error Resume Next For i = 1 To Worksheets.Count - 1   Worksheets(i).Range("A65536").End(xlUp).Offset(-2, 0).EntireRow.Copy _   Destination:=Worksheets(Worksheets.Count).Range("A65536").End(xlUp).Offset(1, 0) Next i End Sub

oshietecho-dai
質問者

補足

ご回答どうも有難うございます。 すみません、これのみをこのまま、実行(12シート分で)してみたんですけど無反応ですが、どこかを編集しないといけなかったでしょうか? よろしくお願い致します。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

# 各シートのA列データが3行未満だと処理しません。 と書いた通り、各シートのA列に最低でも3行データが必要です。     A 1 あああ 2 いいい 3 ううう とある場合に「あああ」の行が最終シートにコピーされます。 この条件に合致しているのに無反応なら On Error Resume Next を削除してエラーメッセージが出るか、出るとしたらどんなメッセージかを書いてみて下さい。

oshietecho-dai
質問者

お礼

誠にどうも有難うございました。 次の作業も四苦八苦してる次第でございます。 もし、可能でございましたら、1度ご査収願います。 改めて質問しましたページを載せさせて頂きます。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2302033

oshietecho-dai
質問者

補足

完璧でした。すみません、私が見逃していました。 「集計1」を私が、追加せず、実行したので、最終シートのデータの最後に書き込まれたデータを見事に見逃していました。どうもお手数をおかけして、誠に申し訳ありませんでした。

関連するQ&A