• 締切済み

エクセルにおいて、行ごとに別ファイルを作成

エクセル AAA.xls の、シート aaa のデータが851行まであります。 (1行目は名前や列名などのデータです) このデータを複数のエクセルファイルに、 2~171行目までは 01.xls 172~341行目までは 02.xls 342~511行目までは 03.xls 512~681行目までは 04.xls 682~851行目までは 05.xls のように分けて保存したいです。 さらに、週毎に シートaaa のデータは更新されるため、 B~F.xls への保存も、前月分を残したまま追記していく必要があります。 (たとえば、01.xls を開くと、12月1週目のデータの後に、12月2週目のデータが 追記される・・・ という操作を組み込みたいです) こういった作業をするためのマクロは、実際にどのように書けばよいのか、 ご教示ください。 非常に複雑なマクロになってしまうかもしれませんが、 どうぞよろしくお願いいたします。

みんなの回答

  • m_and_dmp
  • ベストアンサー率54% (974/1797)
回答No.1

169行ごとに別ファイルを作成するのは、つぎのコードでできます。 (吟味していないので少し荒っぽいですが) Sub TEST() Workbooks.Open "H:\Temp\AAA.xls" Worksheets("aaa").Select With Worksheets("aaa") For i = 1 To 5 J = (i - 1) * 170 + 2 K = J + 169 Range(Rows(J), Rows(K)).Select Application.CutCopyMode = False Selection.Copy Workbooks.Add Template:="ブック" Worksheets("Sheet1").Activate Cells.Select ActiveSheet.Paste Columns("A:A").EntireColumn.AutoFit Application.CutCopyMode = False FN = "H:\Temp\" & i & ".xls" ActiveWorkbook.SaveAs Filename:=FN, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close Next i End With End Sub >週毎に シートaaa のデータは更新されるため、B~F.xls への保存も... については、B~F.xlsなど、分からないところがありますので、回答できません。

関連するQ&A

  • excelマクロ 別ファイルの特定列をコピーしたい

    C:\testの配下にexcelファイル「aaa.xls」「aaa_yyyymmdd.xls」「bbbxls」があります。 「aaa_yyyymmdd.xls」は「aaa.xls」のバックアップファイルです。 又、「bbbxls」にマクロを記述しようと思います。 ☆処理内容☆ 「aaa.xls」「aaa_yyyymmdd.xls」が開いていない状態で、「aaa.xls」のシート「sheet1」内の E列をコピーして「bbbxls」のシート「sheet3」のA列に貼り付け。 「aaa_yyyymmdd.xls」のシート「sheet1」内の E列をコピーして「bbbxls」のシート「sheet3」のB列に貼り付け。 その後、張り付けたA列を正としB列と比較して、差異があった場合はB列の差異があった部分の セルに色つけをした後、「aaa_yyyymmdd.xls」をC:\test:\oldフォルダに移動する。 上記のようなexcelマクロを作成中なのですが、できなくて困っております。 有識者の方、助けを貸してください。 よろしくお願い致します。

  • エクセルで教えて下さい。

    同じような質問があったらごめんなさい。 エクセルでシート1にデータを入力してシート2に データを整理したいのです。 シート1には重複した行があります、これを シート2には重複した行を省いた表にしたいのですが どうしたら出来るのですか? 出来ればマクロは使いたくない(使い方がわからないです) のですが。 やりたい事 シート1 --------------- AAA|45 AAA|30 AAA|20 BBB|50 CCC|30 CCC|20 シート2 ---------------- AAA| BBB| CCC| ---------------- AAAとCCCの重複している 行を省いてシート2に入力されるように したいです。 宜しくお願いします。

  • エクセルでブック間のシートの合体?教えてください。

    エクセルの作業で困っちゃいました。 同じホルダー内に 0210A.xls、sから0309A.xlsの12種類 0210B.xls、sから0309B.xlsの12種類 0210C.xls、sから0309C.xlsの12種類 0210D.xls、sから0309D.xlsの12種類 の48のブックがあります。(0210は2002年10月の意味です。) 各ブックは複数のシートを持っており、各ブックに共通してあるのは「AAA」、「BBB」、「CCC」の3種類で、それ以外のシートもあります。シートの順番は各ブックによりまちまちです。 これらのブックの共通する3種類のシートだけを合体して 0210AB.xlsから0309AB.xlsの12種類、(AとBの合体) 0210CD.xlsから0309CD.xlsの12種類、(CとDの合体) の24種類のブックを作りたいのです。 各ブックは「AAA」、「BBB」、「CCC」の3シートを持ちます。中身はオリジナルの各「AAA」、「BBB」、「CCC」の単純な寄せ集めです。 データは各シートとも1行目に項目、2行目以降にデータで、列はAF列まで使用しています。データの個数はまちまちで、オートフィルターを使用しています。 たとえば、0210A.xlsのシートAAAが200行であれば0210BのシートAAAのデータの一行目の項目は不要ですので2行目から最終行までコピーして201行以降に貼り付けるという感じです。同様にシートBBB、シートCCCも処理します。各シート1行目はオリジナルと同じ項目名とします。 手作業でやろうと思いましたが、誤りの発生もこわいのでVBAなどでうまくできる方法はないでしょうか?わたしのVBAの知識はマクロ自動記録ができるくらいなので助けてほしいのです。 Windows2000でエクセルも2000です。 よろしくお願いしま~す。

  • EXCEL VBAで別ファイル作成

    エクセル97です。 エクセルファイル AAA.xls のすべてのワークシートのうち、セルA1に TRUE がはいっているもの、(枚数はそのときにより不定です。)のみをコピーして、別のエクセルファイルを作成したいのです。 その際、新しいファイルに貼り付けるのは書式と値のみで、シート名は 元ファイルのシート名と同じにしたいのです。 どのようなVBAを書けばよいかご教示ください。 (AAA.xls にはワークシート以外にグラフシートやダイアローグシートが入っています。)

  • エクセルでデータ.xlsから1行毎に元シート.xlsへコピーし1行毎に多数ファイルを作成したい。

    現在、以下のような繰り返し作業をカット&ペーストで何度も行わないといけません。 手が疲れて困っています。 エクセルマクロで簡単にできる方法を教えてください。 以下の例のようにデータ.xlsは、一番上の行に元シート.xlsに差込む位置、 次の行から1行ごとのデータがあります。 データ.xls A B C D E F 1 A2 A3 B3 C2 D2 D3 <- 元シート.xlsにコピーする位置 2 test 123 456 789 012 345 3 test2 456 789 012 345 678 4 test 456 123 789 012 345 ... 元シート.xlsは固定文字や罫線等があります。 元シート.xls A B C D 1 ------------------------------ 2 3 4 abcdefg 9876543 5 ------------------------------ 元シート.xlsに、データ.xlsの1行ごとのデータを、指定したセルに入れ、 A列の名前で多数のファイルを作成したいのです。 ただし、A列で同じファイル名がある時は、ファイル名の後に_2等を付けて保存したいのです。 以下のような多数のファイルを自動的に作成する方法を教えて下さい。 宜しくお願い致します。 test.xls ------------------------------ test 789 012 123 456 345 abcdefg 9876543 ------------------------------ test2.xls ------------------------------ test2 012 345 456 789 678 abcdefg 9876543 ------------------------------ test_2.xls ------------------------------ test2 789 012 456 123 345 abcdefg 9876543 ------------------------------ ...

  • EXCEL データをコピーして別シートの最初の空白行に貼り付けたい

    EXCEL データをコピーして別シートの最初の空白行に貼り付けたい Sheet1はA列からR列までを使ったシートで、1行目は各項目があり、2行目からは当月のデータが入力されています。 Sheet2はSheet1の1行目と同じようにA列からR列までが項目になっていて、期中のデータを付け足していきたいと思っています。 マクロの記録でやってみたのですが、前月の最後の行(貼り付ける最初の空白行)の認識の仕方が分からず、Sheet2への貼付がうまくいきません。 どのような方法でやったらいいのか教えて下さい。

  • エクセルマクロでファイルを開かず行をしらべたい

    こんにちは! エクセルマクロでファイルを開かず一番下の行を調べたいのですが、どうしたらよいでしょうか? 色々試行錯誤して、下記を組んでみましたが、上手くできませんでした。 test1のエクセルに下記のマクロを入れてあります。 C直下のtestフォルダの中のtest2.xlsのsheet1のファイルを読み込みたいです。 Dim line As Long Dim names As String names = "C:\test\[test2.xls]sheet1" line = ExecuteExcel4Macro("'" & names & "'!R1C1").End(xlUp).Row 「ファイルを開かず一番下の行を調べる」ことができれば、上記のマクロを動くようにするでも、別のマクロを提示するでも構いませんので、アドバイスのほどよろしくお願いいたします。

  • ExcelのVBAで、他のExcelファイルのセルのデータを取得

    ExcelのVBAで、他のExcelファイルのセルのデータをファイルを実際に開かずに取得する方法はありますか? Workboks.openを使わずに、具体的にどうすればいいのでしょう? (例)  AAA.xls のセル"C5"に BBB.xls のセル"B3"のデータを入力したい場合。 (AAA.xlsにマクロを起動するボタンがある) ただし、BBB.xlsの最初の3行は空白です。

  • EXCELでのデータベースの作成方法について

    AAAというEXCELファイルがあります。 その中にシート「AAA-a」を作成します。 次に「AAA-b」を作成します。というようにどんどん増えていくとします。 次にBBBというEXCELファイルを作成し、その中のA1セルにAAAファイルの「AAA-a」シート名を読み込みそこに「AAA-a」シートまでのハイパーリンクをつけたいです。 A2セルにも「AAA-b」のハイパーリンクというようにどんどん自動で増やしていきたいのですがどうやればいいかわかりません。 多分マクロが一番いいかと思うのですがわかる方がいましたら教えてください。 よろしくお願いします。

  • 複数のexcelファイルの置換について

    AAA.xlsというファイルの中の情報を複数のexcelファイル(A.xls、B.xls、C.xls、D.xls)でリンク付けしてあるとします。 AAA.xlsをBBB.xlsに名前を変更するとリンクが成り立たなくなってしまいます。 そこで、一括でリンクを変更する方法を教えてください。 マクロでもいいです。 =[AAA.xls]Sheet1!$A$1 これを =[BBB.xls]Sheet1!$A$1 に一括変更したいのです。 よろしくお願いします。