- ベストアンサー
ExcelVBAの質問です
VBAはまったくの初心者です。仕事上Excelで次のような操作をよくしますが、場合によっては量が多く、VBAで効率化できないかと思っていますが、ネット上いくら捜しても似たような書き込みがないので、ここで質問します。どなたか教えて頂けないでしょうか? Sheet1のA列に入力されている連続番号(例えばA1=01, A2=02, A3=03...)をセルA1から順次にSheet2のセルA1にコピーし、コピーした番号でブックに名前を付けて保存します。コピー先はいつも同じブック内のSheet2のセルA1に固定されています。 質問内容がうまく伝わったのか不安ですが、よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
sub macro1() dim h as range set h = worksheets("Sheet1").range("A1") do until h = "" h.copy destination:=worksheets("Sheet2").range("A1") activeworkbook.saveas filename:=h.text & ".xlsm" ’注意 set h = h.offset(1) loop end sub みたいな。 注意: ご自分で正しく修正して利用してください ・実際に保存したいのは一体どのブックの話をしているのか ・ブックを具体的にどこに保存したいのか ・ファイルの拡張子を正しく指定する事
お礼
ぅおーーー、できました。 まさに私が思った通りになっていました。本当にありがとうございました<(_ _*)> 指定のフォルダにファイルをコピーしたく、次のようにしました。 Sub macro1() Dim h As Range Set h = Worksheets("Sheet1").Range("A1") FilePath = "c:\Test\" Do Until h = "" h.Copy Destination:=Worksheets("Sheet2").Range("A1") ActiveWorkbook.SaveAs Filename:=FilePath & h.Text & ".xlsm" '注意 Set h = h.Offset(1) Loop End Sub また、コピーしたブックのSheet1を削除したくいろいろ試してみましたが、うまくいかず困っています。ご指導の方よろしくお願い致します。
補足
また、コピーしたブックのSheet1は削除したいです。