Excel VBA を使用してボタンを挿入し、数字のファイル名を持つ重複テンプレートを作成して保存することは可能ですか。

Excel VBA を使用してボタンを挿入し、数字のファイル名を持つ重複テンプレートを作成して保存することは可能ですか。

今後のドキュメント作成のテンプレートとして使用したい改善フォームがあります。VBA を使用してワークシートにコマンド ボタンを挿入し、コピーを作成して作成者名の下に番号を追加して保存し、年間を通じて行われた改善を追跡できるかどうか知りたいです。

たとえば、ドキュメント テンプレートを用意し、ボタンをクリックした後、ユーザー フォームを開いて作成者名を入力し、クリックして新しいドキュメントを作成し、特定の場所に保存します。

答え1

はい、可能です。以下に記述した VBA コードを使用することをお勧めします。これにより、テンプレート ワークブックを新しい名前で保存できるようになります。

Sub CreateNewBook()

Dim wbk As Workbook
Dim sht1,sht2 As Worksheet
Dim lng As Long, rng As Range

Set sht1 = Sheets("IndexName") 
Set sht2 = Sheets("NameData") 
lng = sht1.Cells(Rows.Count, "A").End(xlUp).Row

Set rng = sht1.Range("A2:A" & lng)

    For Each c In rng
        Sheets("Template").Copy 
        Set wbk = ActiveWorkbook

        wbk.Sheets(1).Range("A100") = c.Value
        sht2.Copy After:=wbk.Sheets(1)    
        wbk.SaveAs c.Value & ".xlsx"
        wbk.Close False

    Next

End Sub

注意:シート「IndexName」のセル A2 には名前があり、ボタンをクリックするたびにコードによって「新しいファイル名」として使用されます。したがって、セル A2 を新しい名前で更新することを忘れないでください。

シート「NameData」は、セル A100 以降の新しいファイルの記録を追跡するために使用されます。

また、このコードはファイルをデフォルトの場所に保存します。変更したい場合は変更できます。

これがお役に立てば幸いです。この VBA コードは私がテストした後に投稿しました。

関連情報