Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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
Inhaltsverzeichnis

Workbook mit excel 2010 erstellen

Workbook mit excel 2010 erstellen
18.11.2016 16:12:25
wolfgang
Hallo Excel-Profis,
Ich möchhe gerne mit VBA ein neues Workbook erstellen
und dann die überflüssigen Tabellenblätter löschen.
Mit Excel 2003 lief alles super, nur jetzt mit 2007 oder 2010 gehts
halt nich mehr.
Hier mein Code:
Sub Export()
Dim NewBook As Workbook
Dim SaveFormat As Long
SaveFormat = Application.DefaultSaveFormat
Application.DefaultSaveFormat = 51
Workbooks.Add
Application.DefaultSaveFormat = SaveFormat
Do While NewBook.Sheets.Count > 1
NewBook.Sheets(1).Delete
Loop
End Sub
an der Stelle NewBook.Sheets(1).Delete
gibts ein Fehler
kann jemand helfen ?!
mit freundlichen Grüßen
Wolfgang

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook mit excel 2010 erstellen
18.11.2016 16:36:19
Nepumuk
Hallo,
warum legst du die Mappe nicht gleich mit nur einem Tabellenblatt an?
Ein Beispiel:
Public Sub ExportXLSX()
    Dim objWorkbook As Workbook
    Set objWorkbook = Workbooks.Add(Template:=xlWBATWorksheet)
    
    'mach was
    
    Call objWorkbook.SaveAs(Filename:="C:\Datei.xlsx", FileFormat:=xlOpenXMLWorkbook)
    Set objWorkbook = Nothing
End Sub

Gruß
Nepumuk
Anzeige
Nachtrag
18.11.2016 16:44:55
Nepumuk
Hallo,
hab was vergessen.
vor Set objWorkbook = Nothing kommt noch:

Call objWorkbook.Close(SaveChanges:=False)

Gruß
Nepumuk
AW: Nachtrag
18.11.2016 17:06:59
wolfgang
Hallo Nepumuk,
danke für die schnelle Antwort. Ich habs gleich probiert.
Nur es kommt der "Fehler Objektvariable nicht festgelegt.."
Wolfgang
AW: Nachtrag
18.11.2016 18:02:39
Nepumuk
Hallo,
kann ich nicht nachvollziehen. was hast du geändert?
Gruß
Nepumuk
AW: Nachtrag
19.11.2016 14:16:17
wolfgang
Hallo Nepumuk,
also ich möchte folgendes machen:
Ich habe eine Stammdatei in der mehrere Sheets automatisch erstellt
werden.Alle Sheets die ich erstelle fangen mit "D_" an.
Nun möchte ich aus dieser Stammdatei das die erstellten Sheets in eine
neue Datei kopiert werden, die dann separet abgespeichert wird.
Beim nachfolgenden Code gibts den Fehler
bei
Sheet.Copy NewBook.Sheets(1)
Sub Export()
Dim IgnoreError As Boolean
Dim ObjPrintTemps As Variant
Dim Sheet As Worksheet
Dim NewBook As Workbook
Dim i As Integer
Dim HasAttached As Boolean
On Error GoTo Err_Handler
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim SaveFormat As Long
SaveFormat = Application.DefaultSaveFormat
'Set it to the 2007-2010 file format xlsx
Application.DefaultSaveFormat = 51
Workbooks.Add
'Set DefaultSaveFormat back to the users setting
Application.DefaultSaveFormat = SaveFormat
Set NewBook = Workbooks.Add
Do While NewBook.Sheets.Count > 1
NewBook.Sheets(1).Delete
Loop
HasAttached = False
For i = ThisWorkbook.Sheets.Count To 1 Step -1
Set Sheet = ThisWorkbook.Sheets(i)
If Left((Sheet.Name), 2) = "D_" Then
HasAttached = True
Sheet.Copy NewBook.Sheets(1)
End If
Next
If HasAttached Then
If NewBook.Sheets.Count > 1 Then NewBook.Sheets(NewBook.Sheets.Count).Delete
NewBook.Save
Else
NewBook.Close False
End If
Finish:
ActiveWorkbook.Close False
Application.DisplayAlerts = True 'HasAlert
Application.ScreenUpdating = True
Exit Sub
Err_Handler:
If IgnoreError Then
IgnoreError = False
Resume Next
Else
GoTo Finish
End If
End Sub

Anzeige
Wenn Du Tabellenblätter...
20.11.2016 10:49:33
Case
Hallo Wolfgang, :-)
... in eine neue Datei kopieren möchtest, dann brauchst Du kein "Workbooks.Add". ;-)
Siehe Worksheet.Copy Method (Excel)....
Schau Dir mal das Beispiel an: ;-)
Beispieldatei...
Du kannst auch erst alle relevanten Tabellenblätter in ein Array sammeln und dann kopieren. Beispiele im Archiv.
Und Deine Aussage von unten kann ich nicht nachvollziehen (Ein Thread reicht auch für das gleiche Thema). ;-)
Servus
Case

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige