Herbers Excel-Forum - das Archiv

Einzelne Seite abspeichern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Einzelne Seite abspeichern
von: Christoph

Geschrieben am: 15.03.2005 10:21:39
Hallo
ich möchte aus einer excelmappe mittels button nur einzelne Seite als Excelfile speichern.
Ich habe insgesamt 5 Tabellenblätter, und von denen möchte ich die ersten zwei weglassen und den rest als neues Excelfile mit dem Datum und einem Zusatz abspeichern.
Kann mir da jemand helfen?
Gruß Chris
Bild

Betrifft: AW: Einzelne Seite abspeichern
von: Volker

Geschrieben am: 15.03.2005 11:00:16
Hallo Chris,
CommandButton einfügen, rechte Maus, Code anzeigen
das hier in die Private Sub CommandButton1_Click() einfügen:
Application.DisplayAlerts = False
Sheets(1).Delete
Sheets(1).Delete
Application.DisplayAlerts = True
ActiveWorkbook.SaveAs (Date & " Zusatz.xls")
Gruß
Volker
Bild

Betrifft: AW: Einzelne Seite abspeichern
von: Domke, Frank

Geschrieben am: 15.03.2005 11:51:04
Hallo Volker,
den Tipp von Chris solltest Du nur nehmen, wenn Du in der Originalmappe die Tabellen 1 und 1 nicht brauchst!!! Ansonsten speichere die Datei erst unter einem neuen Namen und öffne diese zum Löschen der tabellen 1 und 2!
Ich mache so Backups:
Sub Backup()
Dim strBackup As String
Dim blnEnableEvents As Boolean
blnEnableEvents = Application.EnableEvents
Application.EnableEvents = False
If Workbooks.Count = 0 Then
MsgBox "Keine Arbeitsmappe offen!", vbExclamation
ElseIf ActiveWorkbook Is Nothing Then
MsgBox "Keine Arbeitsmappe aktiv!", vbExclamation
ElseIf ActiveWorkbook.Path = "" Then
MsgBox "Backup ""kann"" nur von einer gespeicherten Arbeitsmappe erfolgen!", vbExclamation
Else
strBackup = GetBackupName
On Error Resume Next
ActiveWorkbook.SaveCopyAs strBackup
If Err.Number = 0 Then _
MsgBox "Die Arbeitsmappe wurde unter dem Namen" & vbCr & strBackup & _
" gesichert!", vbInformation + vbOKOnly
End If
Application.EnableEvents = blnEnableEvents
End Sub

Function GetBackupName() As String
Dim strName As String
Dim strExt As String
Dim intLen As Integer
strExt = fGetFileExtension5(ActiveWorkbook.Name)
intLen = Len(ActiveWorkbook.Name) - Len(strExt)
If strExt <> "" Then
intLen = intLen - 1
Else
strExt = "xls"
End If
strName = Left(ActiveWorkbook.Name, intLen)
GetBackupName = ActiveWorkbook.Path & "\" & strName & _
Format(Now, " YYYY-MM-DD HH-MM-SS") & "." & strExt
End Function

Du musst jetzt nur noch per Makro die neue Arbeitsmappe öffnen und dann, wie oben beschrieben, die Tabellenblätter 1 und 2 löschen.
Viel Erfolg
Frank.
Bild

Betrifft: AW: Einzelne Seite abspeichern
von: Christoph
Geschrieben am: 15.03.2005 12:37:06
Das mit dem Abspeichern funktioniert, aber er fragt nicht nach wohin er speichern soll, sondern speichert es irgendwo hin.
Bild

Betrifft: AW: Einzelne Seite abspeichern
von: Volker

Geschrieben am: 15.03.2005 16:25:17
Hallo Chris,
wenn man keinen Pfad angibt, speichert er ins selbe Verzeichnis wie die Ursprungsdatei.
Wenn Du die beiden ersten sheets noch behalten willst, speicherst Du das file einfach vor dem Löschen noch mal ab. Und wenn Du einen bestimmten Pfad haben willst, im Bsp. C:\tmp , kannst Du auch den mit angeben
Application.DisplayAlerts = False
ActiveWorkbook.Save
Sheets(1).Delete
Sheets(1).Delete
Application.DisplayAlerts = True
ActiveWorkbook.SaveAs ("C:\tmp\" & Date & " Zusatz.xls")
Gruß
Volker
 Bild
Excel-Beispiele zum Thema "Einzelne Seite abspeichern"
Einzelnes Tabellenblatt speichern Summe einzelner Zellwerte ermitteln
Einzelnes Zeichen aus einer InputBox-Eingabe auslesen Einzelnes Tabellenblatt unter Tagesdatum speichern
Positionen einzelner Zeichen in langer Zeichenfolge auslesen Sicherheitskopie einzelner Arbeitsblätter