- ベストアンサー
VBAのマクロについての質問です
VBAのマクロについての質問です セルA1:タイトル1 セルA2:タイトル2 セルA3:タイトル3 上記のように各セルに文字を入力しボタンを押下します。 そうすると、事前に用意してある別のExcelファイルを(雛形.xlsとします) タイトル1.xls タイトル2.xls タイトル3.xls のような名前で入力した分だけExcelファイルを複数作成できるようにしたいのですが、 方法がよくわかりません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず以下の条件で作ってみました。 1.ファイル名のあるセルはSheet1のA1~A3 2.マクロのあるブックと雛形.xlsは同じフォルダにあり、そこにタイトル1.xls、タイトル2.xls、タイトル3.xls(仮名)を作成する。 3.雛形.xlsをExcelで開き、名前を付けて保存する 4.同名のファイルがあった場合保存するかどうか尋ねる コードは以下のようになりました。 Sub Create3s() Dim WS, Path, SFN, Hinagata Set WS = ThisWorkbook.Sheets("Sheet1") Path = ThisWorkbook.Path Set Hinagata = Workbooks.Open(Path & "\雛形.xls") For Each SFN In WS.Range("A1:A3") Err.Clear On Error Resume Next Hinagata.SaveAs (Path & "\" & SFN & ".xls") Debug.Print Err.Number, a If Err.Number > 0 Then MsgBox SFN & ".xls は保存されませんでした" Next Hinagata.Close SaveChanges:=False End Sub このマクロを標準モジュールに置き、フォームのボタンをシートに挿入してマクロをボタンに登録しました。そして、雛形.xlsのあるフォルダに保存しました。 動作確認は、Windows XP, Excel 2007で行いました。 疑問点や不都合な点などありましたら補足ください。