Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Export eines Tabellenblattes per Makro

Forumthread: Export eines Tabellenblattes per Makro

Export eines Tabellenblattes per Makro
26.02.2008 09:34:22
Markus
Hallo Excelianer,
ich stehe vor folgendem Problem:
Ich exportiere aus einer Excel-Datei ("ursprungsdatei.xls") mit mehreren Tabellenblättern ein bestimmtes Blatt in eine externe Datei (Kopieren des Blattes zur Achivierung beliebig benennbare Datei). Hierfür nutze ich folgenden Code:

Sub abspeichern_Tabelle1()
'Speichern des einzelnen Tabellenblattes "Tabelle 1" in eine externe Datei
Application.ScreenUpdating = False
ActiveSheet.Copy
Dim neuName As String
neuName = InputBox("Unter welchem Namen soll die Datei gespeichert werden?")
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\test" & "\" & neuName & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
MsgBox " Die Datei wurde unter " & ThisWorkbook.Path & "\test\" & neuName & ".xls gespeichert !" _
_
_
_
, _
vbibformation
Workbooks(neuName & ".xls").Colors = ThisWorkbook.Colors
With ActiveSheet.Parent.VBProject.vbcomponents(ActiveSheet.CodeName).codemodule
.DeleteLines 1, .CountOfLines
End With
Workbooks(neuName & ".xls").Save
Workbooks(neuName & ".xls").Close
Workbooks("ursprungsdatei.xls").Activate
Application.ScreenUpdating = True
End Sub


Ein Abspeichern der Datei unter beliebigem Namen funktioniert, auch das Überschreiben einer bereits existierenden Datei ist kein Problem. Breche ich jedoch den Export-Dialog ab, oder entscheide mich gegen das Überschreiben einer existierenden Datei ("Möchten Sie die existierende Datei überschreiben" -> Abbrechen/Nein) erscheint ein Laufzeitfehler.
Wie kann ich einen "Notausgang" aus dem Exportdialog so einfügen, dass der Laufzeitfahler nicht mehr erscheint?
Danke für Eure Vorschläge und Hilfe,
Markus

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
schau dir mal On Error in der Hilfe an. oT
26.02.2008 10:04:00
Matthias

AW: Export eines Tabellenblattes per Makro
26.02.2008 10:29:16
Beverly
Hi Markus,
vom Prinzip her kannst du das so machen

Sub speichern()
Dim strAbfrage As String
Dim neuName As String
Dim Fso
neuName = InputBox("Unter welchem Namen soll die Datei gespeichert werden?")
If neuName = "" Then Exit Sub
Set Fso = CreateObject("Scripting.FileSystemObject")
Application.DisplayAlerts = False
If Fso.fileexists(ThisWorkbook.Path & "\" & neuName & ".xls") Then
strAbfrage = MsgBox("Soll die vorhandene Arbeitsmappe " & neuName & " überschrieben  _
werden", vbYesNoCancel)
If strAbfrage = vbYes Then
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & neuName & ".xls"
End If
Else
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & neuName & ".xls"
End If
Application.DisplayAlerts = True
End Sub




Anzeige
AW: Export eines Tabellenblattes per Makro
26.02.2008 13:29:45
Markus
Hallo Beverly,
die von Dir angegebene Lösung funktioniert für "Abbrechen" oder ein leeres Eingabefeld, wenn ich jedoch einen beliebigen Dateinamen eingebe, erscheint:
Laufzeitfehler 13 - Typen unverträglich
Im Debugger wird
If strAbfrage = vbYes Then
markiert.
Weisst Du (oder jemand anderer) Rat?
Danke

Anzeige
AW: Export eines Tabellenblattes per Makro
26.02.2008 14:48:00
Beverly
Hi Markus,
kann ich nicht nachvollziehen, bei mir funktioniert der Code auch bei Eingabe eines beliebigen Namens und die Arbeitsmappe wird unter diesen Namen auch gespeichert.


;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige