- ベストアンサー
Excelシートを分割して新シートにコピーしたい
5000行近くある1枚のExcelシートを、100行毎に分けて別のシートへコピーしたいです。 以前は、地道に100行ずつコピペしていました。 もし、簡単にできる方法があれば、是非ご教示ください。 なお、マクロ?だとか難しい事が分からない初心者です。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
繰り返し作業はマクロの得意とするところです。 まず、「マクロの記録」機能で記録してみました Sub マクロの記録() Sheets("Sheet1").Select '元シートの「Sheet1]を選択 Application.Goto Reference:="R1:R100" '名前ボックスで「1:100」を入力 Selection.Copy 'コピー Sheets.Add 'シートを追加 ActiveSheet.Paste '貼り付け Sheets("Sheet1").Select '元シートの「Sheet1]を選択 Application.Goto Reference:="R101:R200" '名前ボックスで「1:100」を入力 Application.CutCopyMode = False 'コピーの解除 Selection.Copy 'コピー Sheets.Add 'シートを追加 ActiveSheet.Paste '貼り付け Sheets("Sheet1").Select '元シートの「Sheet1]を選択 Application.CutCopyMode = False 'コピーの解除 End Sub 上記の記録情報をもとに下記のように改良してみました [Alt]+[F11]VBE起動 挿入 - 標準モジュール - 下記貼り付け Sub マクロの記録改() Dim n As Long '変数の定義 For n = 1 To 4901 Step 100 Sheets("Sheet1").Select '元シートの「Sheet1]を選択 Application.Goto Reference:="R" & n & ":R" & n + 99 Selection.Copy 'コピー Sheets.Add 'シートを追加 ActiveSheet.Paste '貼り付け Next n Application.CutCopyMode = False 'コピーの解除 End Sub シートに戻り、[Alt]+[F8] で対象のマクロを実行します。 質問部分から読み取れない部分は勝手に補完しています VBAはあまり自信がないので参考まで
その他の回答 (2)
- koko88okok
- ベストアンサー率58% (3839/6543)
下記URLの過去ログのページをご参照下さい。 No.2またはNo.3のどちらでも出来ますよ。 「エクセルで20万行あるシートから100行ずつ抽出したいのですが」 http://okwave.jp/qa/q4273114.html
お礼
回答ありがとうございました。 貴重なお時間を割いて頂き、有難うございました。
- maiko0318
- ベストアンサー率21% (1483/6969)
私のスキルからですと、50シート作成して、 2ページに、=a101~=?200 まで(?は最終の列記号) 3ページに、=a201~=?300 まで | | 50ページに、=a4901~=?5000 まで 面倒ですが、一度作っておけばいいかな?って感じです。
お礼
回答ありがとうございました。 貴重なお時間を割いて頂き、有難うございました。
お礼
ありがとうございました! 全く分からないままですが、ご回答の通りに入力してみた所… ササッとできてしまいました! マクロって、すごいんですね(*^-^*) 本当に助かりました。 ありがとうございました。