Thema Datum  Von Nutzer Rating
Antwort
11.12.2018 15:40:08 Anke
NotSolved
11.12.2018 15:48:07 Werner
NotSolved
11.12.2018 15:49:45 Gast96048
Solved
11.12.2018 15:51:18 Gast96048
Solved
12.12.2018 12:44:31 Gast72503
NotSolved
12.12.2018 12:54:04 Anke
NotSolved
12.12.2018 16:40:01 Gast96048
NotSolved
17.12.2018 11:25:42 Anke
NotSolved
17.12.2018 13:17:20 Gast96048
NotSolved
Blau Loop ohne Do
17.12.2018 16:26:44 Gast65833
NotSolved
17.12.2018 18:05:18 Gast96048
NotSolved
17.12.2018 18:17:06 Gast96048
NotSolved
17.12.2018 19:33:39 Gast96048
NotSolved
17.12.2018 19:39:46 Gast79011
NotSolved
18.12.2018 12:07:00 Anke
NotSolved
18.12.2018 13:44:40 Gast96048
NotSolved

Ansicht des Beitrags:
Von:
Gast65833
Datum:
17.12.2018 16:26:44
Views:
516
Rating: Antwort:
  Ja
Thema:
Loop ohne Do
Dank der korrigierten Codes funktioniert das Makro. Und ja, es war am Anfang nicht die Rede davon die Exceldateien nach dem Kopieren in einem Archivordner zu speichern. Das war meine eigene Problemlösung dafür die Dauerschleife außer Kraft zu setzen. Jetzt wird der Inhalt der XLS Dateien, wie im Code geschrieben, korrekterweise in verschiedene Tabellenblätter geschrieben. Wie muss der Code angepasst werden, damit die Inhalte in ein Tabellenblatt untereinander geschrieben werden? Und, um den letzten Schritt vorweg zunehmen, soll die generierte XLS Datei zum Schluss noch als CSV File gespeichert werden. ist halt learning by doing und step by step ist das einfacher nachzuvollziehen ;-) Sub Zusammenführen() Dim oTargetBook As Object Dim oSourceBook As Object Dim sPfad As String Dim sDatei As String Dim wkbMappe As Workbook Application.ScreenUpdating = False 'Das "Flackern" ausstellen Application.DisplayAlerts = False 'Keine Fehlermeldungen anzeigen 'Schritt 1: Arbeitsmappe festlegen, in die die neuen Sheets eingefügt werden... Set wkbMappe = Workbooks.Add Set oTargetBook = ActiveWorkbook 'Wichtiger Hinweis: Die Arbeitsblätter dürfen nicht vorhanden sein! 'Alternativer Umbau: Löschen evtl. bereits vorhandener Arbeitsblätter 'Schritt 2: Schleife über alle Excel Dateien in einem Verzeichnis sPfad = "Z:\dep_Controlling-WSA\07 Monatsabschluss\ILV-Makros\Stundenerfassung\Einzelbelege\" sDatei = Dir(CStr(sPfad & "*.xlsx*")) 'Alle Excel Dateien Do While sDatei <> "" 'Schritt 3: öffnen der Datei und Datenübertragung Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) 'nur lesend öffnen 'Es wird immer das erste Tabellenblatt Sheets (1) kopiert! oSourceBook.Sheets(1).Copy after:=oTargetBook.Sheets(oTargetBook.Sheets.Count) 'Es wird versucht den Dateinamen als Arbeitsblattnamen zu setzen. 'Ist dieser bereits vorhanden, wird der Fehler abgefangen und das neue Blatt 'bekommt keinen anderen Namen und behält den typischen Namen Tabelle x On Error Resume Next 'Arbeitsblattname wird der Dateiname oTargetBook.Sheets(oTargetBook.Sheets.Count).Name = sDatei 'Wenn ein Fahler aufgetreten ist, wird dieser resettet If Err.Number <> 0 Then Err.Numer = 0 Err.Clear End If On Error GoTo 0 'Schritt 4: Datei wieder zu machen und nächste Schleifenrunde oSourceBook.Close False 'nicht speichern sDatei = Dir Loop End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
11.12.2018 15:40:08 Anke
NotSolved
11.12.2018 15:48:07 Werner
NotSolved
11.12.2018 15:49:45 Gast96048
Solved
11.12.2018 15:51:18 Gast96048
Solved
12.12.2018 12:44:31 Gast72503
NotSolved
12.12.2018 12:54:04 Anke
NotSolved
12.12.2018 16:40:01 Gast96048
NotSolved
17.12.2018 11:25:42 Anke
NotSolved
17.12.2018 13:17:20 Gast96048
NotSolved
Blau Loop ohne Do
17.12.2018 16:26:44 Gast65833
NotSolved
17.12.2018 18:05:18 Gast96048
NotSolved
17.12.2018 18:17:06 Gast96048
NotSolved
17.12.2018 19:33:39 Gast96048
NotSolved
17.12.2018 19:39:46 Gast79011
NotSolved
18.12.2018 12:07:00 Anke
NotSolved
18.12.2018 13:44:40 Gast96048
NotSolved