Anzeige
Archiv - Navigation
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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.


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige