Ist es möglich, mithilfe von Excel VBA eine Schaltfläche zum Erstellen und Speichern einer doppelten Vorlage mit einem numerischen Dateinamen einzufügen?

Ist es möglich, mithilfe von Excel VBA eine Schaltfläche zum Erstellen und Speichern einer doppelten Vorlage mit einem numerischen Dateinamen einzufügen?

Ich habe ein Verbesserungsformular, das ich als Vorlage für die Erstellung zukünftiger Dokumente verwenden möchte. Ich habe mich gefragt, ob es möglich ist, mithilfe von VBA eine Befehlsschaltfläche in das Arbeitsblatt einzufügen, um eine Kopie zu erstellen und sie unter dem Namen des Autors mit einer zusätzlichen Nummer zu speichern, damit wir die im Laufe des Jahres vorgenommenen Verbesserungen nachverfolgen können.

Beispielsweise eine Dokumentvorlage > klicken Sie auf die Schaltfläche > öffnen Sie das Benutzerformular, um den Namen des Autors einzugeben > und klicken Sie, um ein neues Dokument zu erstellen, das an einem bestimmten Ort gespeichert wird.

Antwort1

JA, das ist durchaus möglich. Ich möchte Ihnen vorschlagen, den unten stehenden VBA-Code zu verwenden. Er hilft Ihnen dabei, die Arbeitsmappenvorlage unter einem neuen Namen zu speichern.

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

Hinweis:Das Blatt „IndexName“ hat einen Namen in Zelle A2, der vom Code jedes Mal als „Neuer Dateiname“ verwendet wird, wenn Sie auf die Schaltfläche zum Kopieren des Vorlagenblatts klicken.Vergessen Sie also nicht, Zelle A2 mit dem neuen Namen zu aktualisieren.

Das Blatt „NameData“ wird verwendet, um eine Übersicht über neue Dateien ab Zelle A100 zu speichern.

Außerdem speichert dieser Code die Dateien am Standardspeicherort. Wenn Sie diesen ändern möchten, können Sie das tun.

Ich hoffe, das hilft Ihnen. Ich habe diesen VBA-Code gepostet, nachdem ich ihn getestet habe.

verwandte Informationen