![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
初心者です。WinXP、Excel 2002を使用。
ブックの各シート(1~36シート、1~24シートの時もあり)の最後から3行目だけ(最後行が80行なら78行目全部だけ)を、シート名「集計1」(37シート目)に上から順次書き込むようにするには、下記コードを、どのように追加編集すればよろしいのでしょうか?
1、36シート分(24シート分のときもあり)のシート名は
・シート1~12 は R02061701、R02061702 ~ R02061712
・シート13~24 は R03062701、R03062702 ~ R03062712
・シート25~36 は R08064701、R08064702 ~ R08064712
のように、それぞれ下2桁だけが1~12まで連番で、3セットで繋がっております。
・シート37(シート25の時もあり)は 集計1
2、各シートの最後の行(全シート100行以内)から3行目全部だけ(最後行が80行なら78行目全部だけ)を、「集計1」(シート37(25))の、セルA2→A37(25)まで順次書き込んで行きます。
下記コードは、
Ctrl+↓(最後のセル) → ↑にて2つ目の行全体を選択 → 「集計1」の、セルA2へ コピー&べースト だけのコードです。
以上 36回コピー&べースト を1回のマクロ実行で行うことができればと思っております。
どうかよろしくお願い致します。
-------------------
Sub 最後から3行目だけコピ&ベ()
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("R02061701").Select
Range("A17").Select
Selection.End(xlDown).Select
Rows("33:33").Select
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("集計1").Select
Range("A2").Select
ActiveSheet.Paste
Range("A3").Select
End Sub
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
この回答への補足
ご回答どうも有難うございます。
すみません、これのみをこのまま、実行(12シート分で)してみたんですけど無反応ですが、どこかを編集しないといけなかったでしょうか?
よろしくお願い致します。
No.2
- 回答日時:
# 各シートのA列データが3行未満だと処理しません。
と書いた通り、各シートのA列に最低でも3行データが必要です。
A
1 あああ
2 いいい
3 ううう
とある場合に「あああ」の行が最終シートにコピーされます。
この条件に合致しているのに無反応なら On Error Resume Next を削除してエラーメッセージが出るか、出るとしたらどんなメッセージかを書いてみて下さい。
この回答への補足
完璧でした。すみません、私が見逃していました。
「集計1」を私が、追加せず、実行したので、最終シートのデータの最後に書き込まれたデータを見事に見逃していました。どうもお手数をおかけして、誠に申し訳ありませんでした。
誠にどうも有難うございました。
次の作業も四苦八苦してる次第でございます。
もし、可能でございましたら、1度ご査収願います。
改めて質問しましたページを載せさせて頂きます。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2302033
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) エクセルで最下行にデータを追加するVBA 6 2023/05/09 09:30
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) エクセルのVBAにショートカットキーの割り当て 3 2022/07/13 14:19
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- その他(Microsoft Office) エクセルのマクロについて教えてください。 1 2022/06/09 09:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
エクセルの同ファイル内の一つ...
-
EXCELで同一フォーマットのシー...
-
EXCEL:同じセルへどんどん足し...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
VBAでシートコピー後、シート名...
-
エクセルで毎回1枚目のシートを...
-
Excel、同じフォルダ内のExcel...
-
VBA セルの値と同じ名前のシー...
-
VBAでどうプログラムしたらいい...
-
エクセルでシート名を自動入力...
-
エクセルのグループ名ごとに別...
-
エクセル(VBA)でリストボック...
-
VBAで条件によりフォントサイズ...
-
エクセルの数式について ブック...
-
特定のシートの削除を禁止した...
-
エクセルで最下行にデータを追...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
複数シートの特定の位置に連番...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
EXCELで同一フォーマットのシー...
-
特定のシートの削除を禁止した...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
おすすめ情報