- ベストアンサー
ExcelVBA支店名の付いたブックの複数作製
- ExcelVBAを使用して、支店名の付いたブックを複数作成する方法について教えてください。
- 添付のデータをもとに、東京支店、名古屋支店、大阪支店の3つのブックに分ける方法を教えてください。
- 特定の列の支店名を利用して、東京支店.xls、名古屋支店.xls、大阪支店.xlsのようなブックを作成する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
sub macro1() dim buf as variant activesheet.copy application.displayalerts = false do until range("A2") = "" buf = range("A2") activesheet.copy range("A:A").autofilter field:=1, criteria1:="<>" & buf activesheet.autofilter.range.offset(1).entirerow.delete shift:=xlshiftup activesheet.autofiltermode = false activeworkbook.saveas buf & ".xls" activeworkbook.close false range("A:A").autofilter field:=1, criteria1:=buf activesheet.autofilter.range.offset(1).entirerow.delete shift:=xlshiftup activesheet.autofiltermode = false loop activeworkbook.close false end sub sub macro2() dim h as range dim i as long, n as long on error goto errhandle for each h in range("A2:A" & range("A65536").end(xlup).row) h.entirerow.copy worksheets(h.value).range("A65536").end(xlup).offset(1) next application.displayalerts = false for i = 1 to n worksheets(1).move activeworkbook.saveas range("A2").value & ".xls" activeworkbook.close false next i exit sub errhandle: worksheets.add before:=worksheets(1) h.parent.range("1:1").copy range("A1") n = n + 1 activesheet.name = h.value resume end sub
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
> 今回の例では東京支店、名古屋支店、大阪支店が1つのブックにまとまっていますが 1ブックかつ1シートと理解して良いですか? ブックを3つにコピーして、対象とする支店のデータを残し他支店データを消去 するのが簡単では?
お礼
bin-chanさん、早速のご連絡ありがとうございました。 私の説明不足で貴重なお時間をいただいてしまいまして、大変申し訳ございませんでした。 この度はありがとうございました m(_ _ )m
補足
スイマセン、肝心な事を書いていませんでした。本件はボタンを作成して、ボタンがクリックされたときに、投稿した内容の処理ができるロジックを教えていただきたかったのです。申し訳ありませんでした。
お礼
keithinさん、早速のご連絡ありがとうございます! 出来ました!! 遅い時間にどうもありがとうございました。 ロジックも2つご教授いただきましてありがとうございます! お陰様で朝一から活用させていただくことができました。 この度は本当にありがとうございました m(_ _ )m