質問: 【excel】自動で転記できますか? excel2003で仕入帳を作っています。 仕入先ごとにコードno.というものがあり、そのno.をシート名に しています。仕入先の数が多いので、 シート名『0301』~『0320』→[a]というファイル シート名『0410』~『0432』→[b]というファイル ・ ・ といった具合にコードno.をもとにファイルを分けていて 仕入帳のファイルは全部で8個あります。 (ファイルによってシート数は違いますが、だいたい20枚前後です。) 毎月、コードno.・会社名・月計・累計の一覧表を作っているのですが これを例えば『一覧表』というシートを別に作って、このシートに 自動で転記するようなことはできるのでしょうか? ちなみに... すべてのシートで、会社名→c2セル 月計→w1セル 累計→y1セルに 入力されています。 マクロを使用すれば、可能でしょうか? 勉強し始めて間もないのですが、よろしくお願いします。
回答: no.1です。 新しいブックにsheet1とsheet2を作り、sheet1のa列2行目から下に向かってファイル名をフルパスで入力しておきます。 sheet1を選択した状態でマクロを実行します。 sub listout() out_line = 1 my_book = activeworkbook.name sheets("sheet1").select for file_gyo = 2 to cells(2, 1).end(xldown).row sheets("sheet1").select file_name = cells(file_gyo, 1) workbooks.open filename:=file_name open_book = activeworkbook.name sheet_su = sheets.count for i = 1 to sheet_su sheets(i).select code_no = activesheet.name kaishamei = cells(2, 3) tsukikei = cells(1, 23) ruikei = cells(1, 25) workbooks(my_book).activate sheets("sheet2").select out_line = out_line + 1 cells(out_line, 1) = code_no cells(out_line, 2) = kaishamei cells(out_line, 3) = tsukikei cells(out_line, 4) = ruikei workbooks(open_book).activate next activeworkbook.close next end sub