PDA

Vollständige Version anzeigen : Neue Excel Datei via VBA erstellen


Airwalker
01.07.2015, 08:45
Hallo Zusammen

Ich hänge wieder mal an einem kleinen Problem fest.

Ich habe eine Excel-Datei mit Mehreren Sheets und möchte nun am Ende des Jahres via Knopfdruck eine neue Datei erstellen lassen, bei der alles übernommen wird, aber die Daten auf bestimmten Sheets gelöscht werden.

Kann mir hier jemand weiterhelfen?

Vielen Dank schon mal im voraus für eure Hilfe

Fabian

RPP63neu
01.07.2015, 08:55
Hallo!
Warum einfach, wenn es auch umständlich geht?
Für so etwas hat Excel eine Vorlage vorgesehen.
(haben eigenen Dateityp: .xltx oder .xltm)

Gruß Ralf

Beverly
01.07.2015, 08:57
Hi Fabian,

wie man aus einer vorhandenen Mappe eine neue Mappe erstellt kannst du mit dem Makrorecorder aufzeichnen (z.B. Datei speichern unter).

Zum Löschen der Daten:

Sub Loeschen()
Dim wksTab As Worksheet
For Each wksTab In Worksheets
Select Case wksTab.Name
Case "Tabelle5", "Tabelle10", "Tabelle15" '<== Tabellen anpassen
wksTab.Cells.ClearContents
End Select
Next wksTab
End Sub


<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Airwalker
01.07.2015, 12:32
Hallo Beverly

Danke für die schnelle Antwort.

Habe das Speichern mit dem Makro Recorder aufgezeichnet und den Code von dir für das Löschen der Tabellenblätter genommen. Nun habe ich mir gerade überlegt dass wenn nun mein Kumpel die Datei benutzt, bei ihm der Dateipfad für das Speichern ja anders ist als bei mir.

Könnte man eine Userform oder eine Msgbox einbauen bei der man den Dateipfad und den Namen wählen müsste? (Ich weiss dass man normalerweise einfach "Speichern unter" drücken würde, aber in diesem Fall brauche ich das in einer Funktion :( )
Oder könnte man auf die Funktion "Speichern unter" verweisen? also dass bei knopf Druck die Sheets gelöscht werden und dann das Pop-up mit dem "Speichern Unter" Screen erscheint?

Danke bereits im voraus für eure Hilfe

Fabian

Beverly
01.07.2015, 13:10
Hi Fabian,

hier eine Möglichkeit mit dem Speichern Unter:

Sub Speichern()
Dim Name
Dim wksTab As Worksheet
Dim strSpeichern As String
Name = Application.GetSaveAsFilename("C:\Excel_Test\" & Range("A1") & ".xls", fileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls")
If Name = False Then Exit Sub
ActiveWorkbook.SaveAs Name
For Each wksTab In Worksheets
Select Case wksTab.Name
Case "Tabelle5", "Tabelle10", "Tabelle15" '<== Tabellen anpassen
wksTab.Cells.ClearContents
End Select
Next wksTab
End Sub



Vorgegeben ist der Start-Ordner, der Name der Mappe steht in Zelle A1 der aktiven Tabelle.
Das eigentliche Speichern für Excel ab 2007, das du aufgezeichnet hat, musst du dann entsprechend einbauen.

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>