Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1204to1208
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

Tabellenblatt in alle Dateien eines Ordn. kopieren

Tabellenblatt in alle Dateien eines Ordn. kopieren
Markus
Hallo Zusammen,
ich bräuchte mal wieder eure Hilfe!! Sorry!!!
ich möchte gerne ein Tabellenblatt "Reperatur" in alle Exceldateien eines Ordners "Liste" kopieren.
Mein Gedanke dazu war, dass ich über folgende Schleife (aus einem Forum) die Dateien öffne und jeweils das Tabellenblatt einfüge. Der Code Steht in der selben Mappe wie das Tabellenblatt "Reperatur".
Ich benötige jetzt den Code welcher das Tabellenblatt "Reperatur" in jeweilige Datei einfügt. Nach dem Öffnen ist die jeweilige Datei auch die Aktive deshalb der Code ThisWorkbook... allerdings bringt er dann den Laufzeitfehler 424.
Pfad = "D:\Liste
Datei = Dir(Pfad & "\*.xl**")
Do Until Datei = ""
Workbooks.Open Pfad & "\" & Datei
ThisWorkbook.Worksheets("Tabelle1").Copy After:=AktiveWorkbook.Sheets(Sheets.Count)
Datei = Dir
Loop
Im Voraus recht herzlichen Dank für Eure Mühe!!!
Gruß Markus

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenblatt in alle Dateien eines Ordn. kopieren
09.03.2011 19:16:47
Oberschlumpf
Hi Markus
Änder mal
Datei = Dir(Pfad & "\*.xl**")
um in
Datei = Dir(Pfad & "\*.xl*")
Das *-Zeichen steht als Joker für alles, was nach den Zeichen xl folgt.
Ich hab jetzt nicht getestet, aber ich vermute, dass die Vorgabe
Datei = Dir(Pfad & "\*.xl**")
Datei = "D:\Liste\MappeXY.xls*" liefert.
Es gibt aber keine Datei mit nem * im Dateinamen.
Hilfts?
Ciao
Thorsten
AW: Tabellenblatt in alle Dateien eines Ordn. kopieren
09.03.2011 20:11:53
Markus
Hallo Thorsten,
Sorry wenn ich mich falsch ausgedrückt habe, das öffnen der Datei funktioniert, lediglich der Versuch das Tabellenblatt zu kopieren geht nicht. Da es sich dabei um Dateien mit .xlsm als Endung handelt müsste das mit den zwei * passen obwohl sie nicht notwendig wären da hast du recht!
Aber Danke für deine schnelle Antwort vielleicht hast du ja noch eine Idee wie ich das mit dem Kopieren machen könnte.
Gruß Markus
Anzeige
AW: Tabellenblatt in alle Dateien eines Ordn. kopieren
09.03.2011 20:29:00
Josef

Hallo Markus,
teste mal.
Sub copySheet()
  Dim objWB As Workbook, objSh As Worksheet, objSh2 As Worksheet
  Dim strPath As String, strFile As String
  
  strPath = "D:\Liste"
  
  strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
  
  strFile = Dir(strPath & "*.xls*")
  
  Set objSh = ThisWorkbook.Worksheets("Tabelle1")
  
  Do While strFile <> ""
    Set objWB = Workbooks.Open(strPath & strFile)
    Set objSh2 = objWB.Sheets(1)
    
    If objSh.Rows.Count = objSh2.Rows.Count Then
      objSh.Copy After:=objWB.Sheets(objWB.Sheets.Count)
    End If
    
    objWB.Close True
    
    strFile = Dir
  Loop
  
  Set objWB = Nothing
  Set objSh = Nothing
  Set objSh2 = Nothing
End Sub


Gruß Sepp

Anzeige
AW: Tabellenblatt in alle Dateien eines Ordn. kopieren
09.03.2011 20:50:17
Markus
Hallo Josef,
hab es mal kurz getestet und funktioniert einwandfrei.
Super, vielen Dank an Thorsten und Dich für Eure Hilfe!
Ich will jetzt nicht unverschähmt sein sondern versuche vba zu erlernen und würde
es toll finden wenn du mir deinen Code kurz erläutern könntest.
Gruß Markus
AW: Tabellenblatt in alle Dateien eines Ordn. kopieren
09.03.2011 20:56:38
Josef

Hallo Markus,
der Code macht im Prinzip das selbe wie deiner, nur das ich für die zu kopierende Tabelle und die Zielmappe(n) Objekte verwende, und zusätzlich noch prüfe, ob die Tabelle auch in die Zielmappe "passt" (xls vs xlsx(m)).
PS: Es heißt "Reparatur" !

Gruß Sepp

Anzeige

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige