• ベストアンサー

Excelシートを分割して新シートにコピーしたい

5000行近くある1枚のExcelシートを、100行毎に分けて別のシートへコピーしたいです。 以前は、地道に100行ずつコピペしていました。 もし、簡単にできる方法があれば、是非ご教示ください。 なお、マクロ?だとか難しい事が分からない初心者です。 宜しくお願い致します。

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

  • ベストアンサー
回答No.2

繰り返し作業はマクロの得意とするところです。 まず、「マクロの記録」機能で記録してみました 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はあまり自信がないので参考まで

tammy0513
質問者

お礼

ありがとうございました! 全く分からないままですが、ご回答の通りに入力してみた所… ササッとできてしまいました! マクロって、すごいんですね(*^-^*) 本当に助かりました。 ありがとうございました。

その他の回答 (2)

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.3

下記URLの過去ログのページをご参照下さい。 No.2またはNo.3のどちらでも出来ますよ。 「エクセルで20万行あるシートから100行ずつ抽出したいのですが」 http://okwave.jp/qa/q4273114.html

tammy0513
質問者

お礼

回答ありがとうございました。 貴重なお時間を割いて頂き、有難うございました。

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

私のスキルからですと、50シート作成して、 2ページに、=a101~=?200 まで(?は最終の列記号) 3ページに、=a201~=?300 まで | | 50ページに、=a4901~=?5000 まで 面倒ですが、一度作っておけばいいかな?って感じです。

tammy0513
質問者

お礼

回答ありがとうございました。 貴重なお時間を割いて頂き、有難うございました。

関連するQ&A

  • excel のコピー&ペーストについて

    会社で表(Excel2000)を作らなければならなくなりました。 3列を一つの区切りとして10ケ並んでいる表で、1行目の1・4・7・・・・・を別のシートに抽出しました。これをコピーして1行目の2・5・8・・・・次に3・6・9・・・とコピー&ペーストしてゆきたいのですが、単純にコピペすると全然違うセルをペーストしてしまいます。一つ一つ指定してゆくと2日から3日この表を作るのにかかってしまうと思います。説明下手で申し訳ありませんが、これに使える関数とか方法があれば教えて下さい。

  • excelでシートのコピーが出来ない

    Excel2000でシートのコピーが出来なくて困っています。 シートが6つあり、他のシートはコピーすることが出来るのに、ある一つのシートだけがコピーできません。 そのシートを他のブックへコピーすることは出来たのですが、その新しいブック内でそのシートのコピーを作ろうとするとやはりダメです。 シートの保護はしておりません。 何かわかる方が見えましたら御教示下さい。

  • EXCEL 別シートのコピー(2)

    こんにちわ。 以前、マクロなどで、同じ名前のシートから別ブックの同じ名前のシートへ上書きはできるのでしょうか?という質問をさせていただき、教えていただいた方法でコピーをしてますが、値だけコピーすることはできるのでしょうか?(結合セルが結構あるので、難しいとおもいますが・・・。) と、いうのも数式のセルは、リンクがはられてしまうので困るのです。 教えてください。

  • Excel データの一部を別シートにコピー

    Excelで、データ行のどこかをクリックし、ボタンを押したとき、その行を別々のシートに分類してコピーさせるマクロを作りたいと思っています。 このとき、コピー先のシートをA列のデータで区別したいのです。 1.クリックした行のA列のセルを判定し、そのセルのデータを読み取る方法 2.読み取ったデータ(文字)を、コピー先シート名に指定する方法 このマクロの記述方法を教えてください。よろしくお願いします。 コピー範囲を指定し、貼り付け先のシートをアクティブにできれば、あとは記録マクロをつないで作るつもりです。

  • 行のコピーに対し一列だけコピーしないようにする

    お世話になります。 エクセルのコピーに関して質問です。 あるデータをコピーする際、行のコピーという操作をやっています。 以下の例では一行目にabcde・・・というデータを貼り付ける操作です(ずれていてすみません)。 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 abcdefghijklmnopq・・・ ただたとえば最後のz列にのみ数式を入れていてここはコピーしてほしくないのです。 以下の制約があり普通のコピーで対応したいのですが方法はないでしょうか? 1 1行のデータが100以上あるため行コピーが楽 2 行数(コピーする行数)は100以上あるためシート内の別範囲に表示させる方法は見えにくく× 3 種類別に分けてシートを作成しているので別シートに表示させる方法はシート数が多くなりすぎて× 4 色々な人(初心者も)がコピーするため+データはUSB等でバラバラにもってくるためマクロは避けたい マクロを使えばできそうというのはわかるのですが本人自身もまだ初心者なのと コピーする個所は各自判断しなくてはいけないので難しいと感じています。 駄文ですみませんがよろしくお願いします。

  • エクセル・シートコピーの際のマクロについて

    教えてください。 エクセルで、マクロを組んでいる月毎の勤務表を1つのシートとし、月が替わるたびにシートコピーをし増やしていきましたら、1つのファイル内にシートが多くなった為に、ファイル動作(保存等)が遅くなりました。 そこで、ファイルのコピーをし、別ファイルで管理し、再度、同じように作業していこうかと思っております。 しかし、ファイルのコピーをし、そのファイル内のマクロを実行しましたら、何故か、コピー元のファイルも一緒に開いてしまいます。マクロ情報がコピー元にあるからかと思いますが、このマクロ実行時にファイルが開かないようにする方法はありますか? よろしくお願い致します

  • excel マクロで複数シート検索し行をコピー

    excel2010 マクロで下記のようなことをしたいのですが どのようにしたら良いか教えていただけないでしょうか? (1)sheet1のA1を検索用の欄とする (2)sheet2・sheet3・sheet4にはそれぞれデータを入力しておく (A列~H列 まで使用し、行数は多くても500程度) (3)sheet1のA1に検索したい単語を入力することで、sheet2・sheet3・sheet4全てのA列を検索する (4)一致(部分一致)したら、その行をsheet1の10行目以降にコピーする なお複数ヒットすると思われるため、複数ヒットした場合には行を追加しながらコピーしたいです。 マクロでは無理なのでしょうか? どのように書いたらよいか、参考になるHPでも助かりますので、教えていただきたく よろしくお願いします。

  • VBAでsheetのコピー

    初めまして、宜しくお願い致します。環境:WindowsXPSP3EXCEL2010やりたい事Book1に複数の名前の付いたsheetがあります。sheetの数は可変です。このBook1のsheetをVBAから新に作成するBook2のsheet1に纏めたいのですが、Book2のsheet1だけに纏めたいのですが、Book2のsheet1の名前は、固定で構いません。Book1の一番初めのsheetにコピーする時だけ3行目にある見出しだけは、Book2のsheet1に付けたく。それ以外のBook1のsheetは、デターだけをコピーしたいのですが、作成したマクロでは、実行時エラーがでます。【実行時エラー'9'】【インデックスが有効範囲にありません】とでます。次の部分です。「Sheets("mySheetName(i)").Copy Before:=Workbooks("Book1").Sheets("Sheet1")」また、Book2のsheet1の名前は固定で構いません。しかし、マクロの記述の仕方も判りません。どなたかご教授願います。何卒宜しくお願い申し上げます。

  • Excelのシート間のコピー&貼付け

    皆様にお聞きしたいのですが。。m(_ _)m あるシートで作成したデータ(罫線等は入れてません。セルに入力したデータのみです)を、一番上の項目名のみまず最初に別シートにコピーしました。 そして元データでフィルタで抽出した間違いがあったデータのみ、複数の行番号をドラッグで選択して別シートにコピー&貼付けをしていたら、なぜか元のシートと列の数が合わなくなりました; 列の数は40前後と多いのですが・・・ 一番上の項目名と途中か合わなくなっていました(T-T) 普通に行を選択してコピー、そして別シートへ貼付けしていただけなのですが。。 こうゆうことってあるのでしょうか??? どなたか、どうかご教授ください。宜しくお願い致します。。 補足 ちなみに、ちゃんとコピー先のシートのA2(項目行の先頭の下の行)にコピーしたのですが・・。

  • シートコピーがわかりません(VBA)

    いつもお世話になっております。マクロを最近仕事で作り始めましたが、初心者ゆえ、四苦八苦しており、本日質問させていただくことになりました。 3枚目から最後のシートを別ブックにコピーするマクロを作りたいのですがどのようにしたらいいでしょうか。 複数のシートをコピーするのは Sheets(Array("1", "2", "3", "4", "5").Copy Before:=Sheets(13) というのはわかるのですが、「3枚目以降のシートすべて」とする方法を教えていただきたいと思います。 基本的なことかもわかりませんが、よろしくお願いします。

専門家に質問してみよう