Excel-Datei aus mehreren Arbeitsblättern zusammenstellen

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von petaod.

    Excel-Datei aus mehreren Arbeitsblättern zusammenstellen

    Hallo Leute,

    ich finde gerade meinen Fehler nicht. Ich habe mehrere tabellen und aus jeder möchte ich das erste Arbeitsblatt in eine neue Excel- Datei speichern. In der neuen Datei sollen die Arbeitsblätter dann auch den Namen der Datei haben. Klappt auch soweit alles ganz gut, allerdings habe ich in meiner neuen Datei immer noch das erste Arbeitsblatte "Tabelle1" und das ist auch leer. Danach haben die Sheets dann andere Namen (die Dateinamen) und enthalten auch die entsprechenden Daten. Wie bekomme ich dieses erste Arbeitsblatt weg? Ich komme gerade einfach nicht drauf -.-

    Private Sub GesamtAuswertung()
    Dim Quelle_Juror As Object
    Dim Ziel_Auswertung As Object
    Dim Quelle_Datei As String
    Dim Quelle_Pfad As String
    Dim i As Long

    i = 1

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    Quelle_Pfad = ThisWorkbook.Path & "\"
    Quelle_Datei = Dir(CStr(Quelle_Pfad & "*.xlsx*"))

    Set Ziel_Auswertung = Workbooks.Add

    Do While Quelle_Datei <> ""

    Set Quelle_Juror = Workbooks.Open(Quelle_Pfad & Quelle_Datei, False, True, Password:="test")

    Quelle_Juror.Sheets(1).Copy after:=Ziel_Auswertung.Sheets(i)

    Ziel_Auswertung.Sheets(Ziel_Auswertung.Sheets.Count).Name = Quelle_Datei

    If Err.Number <> 0 Then
    Err.Number = 0
    Err.Clear
    End If
    On Error GoTo 0

    Quelle_Juror.Close False

    Quelle_Datei = Dir()
    i = i + 1
    Loop

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

    Ziel_Auswertung.SaveAs Filename:=ThisWorkbook.Path & "\AuswertungDaten", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False, Password:="test"

    Set Quelle_Juror = Nothing
    Set Ziel_Auswertung = Nothing

    Application.Quit

    End Sub

    Curare schrieb:

    Wie bekomme ich dieses erste Arbeitsblatt weg?

    Ziel_Auswertung.Sheets("Tabelle1").Delete
    Ggf. vorher noch Application.DisplayAlerts auf False setzen und hinterher wieder auf True.

    Wird allerdings auf die Schnauze fallen, wenn du in internationaler Umgebung unterwegs bist.
    In anderen Sprachen heissen die Sheets anders.

    Ansonsten kannst du dir einfach merken, welches das Initialsheet ist.

    Visual Basic-Quellcode

    1. Set Ziel_Auswertung = Workbooks.Add
    2. Set SheetToDelete = Zie_Auswertung.Sheets(1)
    3. '... und am Schluss:
    4. SheetToDelete.Delete

    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()