Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
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

Suche Beiträge oder brauche auch Hilfe

Suche Beiträge oder brauche auch Hilfe
15.06.2018 12:53:59
Sue
Hi zusammen,
ich hoffe auf Hilfe,
konnte noch keinen genauen Eintrag im Forum finden, welcher mir helfen würde.
Evtl. hat jemanden einen Link mit zugehörigem Beitrag oder kann mir helfen bei folgendem Problem:
Aufgabe:
1 Excel Datei soll per Makro (oder auch andere Lösung) mehrere Dateien
(8 Datein, immmer aus dem Tabellenblatt 1) zusammenbringen, ABER ebenfalls als einzelne Tabellenblätter. Jetzt ist eine zusätzlich Schwierigkeit, dass die Dateien jedes Mal einen anderen Namen haben, somit lässt es sich nicht über die Funktion Abfrage lösen, glaube ich zumindest.
Hat jemand nen Vorschlag?
Viele Grüße Sue

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 13:10:28
Torsten
Hallo Sue,
Frage 1: Sind die 8 Dateien alle im gleichen Ordner?
Frage 2: Das heisst, dass aus den Tabellenblaettern Nr. 1 der 8 Dateien eine neue Datei
entstehen soll mit 8 Tabellenblaettern?
Hab ich das richtig verstanden?
Gruss Torsten
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 13:24:55
Sue
Hallo Torsten,
ja genau, alle 8 Dateien liegen immer am gleichen Ort (auch die dann daraus resultierende soll dort sein) und ja , es sind 8 Dateien und sollen dann 8 Tabellenblätter werden.
Wie gesagt, ich glaube die Schwierigkeit liegt im Dateinamen, der jedes Mal anders :)
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 13:58:44
Torsten
Hallo Sue,
also hier ein Loesungsvorschlag. Mach dir eine .xlsm Datei mit einem Button. Diese ist nur zum Steuern des Kopiervorgangs da. Dann in den Code des Buttons folgendes:
Dim Pfad As String, Dateiname As String
Application.ScreenUpdating = False
Pfad = "C:\Dein Pfad\"
Dateiname = Dir(Pfad & "*.xlsx")
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\Dein Pfad\Neue Datei.xlsx", _                         _
FileFormat:=xlOpenXMLWorkbook
Do While Dateiname  ""
Workbooks.Open Filename:=Pfad & Dateiname
Workbooks(Dateiname).Activate
ActiveWorkbook.Sheets("Sheet1").copy after:=Workbooks("Neue Datei.xlsx").Sheets(Workbooks("Neue  _
Datei.xlsx").Sheets.Count)
Workbooks(Dateiname).Close False
Dateiname = Dir()
Loop
Application.ScreenUpdating = True
Du must halt noch Pfad und den Namen der neuen Datei anpassen.
Lass mich wissen, obs funktioniert.
Gruss Torsten
Anzeige
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 14:02:41
Torsten
und gegebenenfalls den Namen des Sheets, was kopiert werden soll auch noch aendern, falls dieses anders heisst.
ActiveWorkbook.Sheets("Sheet1").copy
Ich hoffe auch, dass in dem Ordner nur diese 8 Dateien liegen. Sonst werden aus allen Exceldateien dort die Sheets kopiert. Ach ja. Und in allen Workbooks sollte das zu kopierende Sheet immer den gleichen Namen haben.
Noch als Zusatz
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 14:11:35
Sue
Hi Torsten,
danke Dir , ich versuch es mal.
Muss ich dann jedes mal den neuen Dateinamen der 8 Dateien einfügen? Jede dieser Dateien hat einen Zeitstempel im Namen, somit ist dieser immer "neu" (wird etwa 3x täglich neu erstellt und dementsprechend 3x täglich soll sich automatisch 1 Datei mit 8 Arbeitsblättern (aus den 8 Einzeldateien) erstellen :/
PS: Die 1 Datei, die entsteht behält immer den gleichen Namen
Anzeige
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 14:19:58
Torsten
Nein, die Dateinamen der 8 Dateien sind hier als Variable hinterlegt. Der Code arbeitet alle Exceldateien im angegebenen Ordner ab.
Nur der Name des zu kopierenden Sheets sollte immer gleich sein.
Wenn die erstellte Datei immer den gleichen Namen hat, musst du diese aber woanders hin verschieben nach dem Kopiervorgang, sonst werden beim naechsten mal halt die naechsten 8 Sheets in die selbe Datei kopiert. Aber vielleicht willst du das ja so?
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 14:29:24
Torsten
sorry. du musst die neu erstellte Datei verschieben, sonst bekommst du beim naechsten Kopiervorgang eine Fehlermeldung, da der Code versucht, wieder diese Datei zu erstellen. Aber die ist ja schon vorhanden.
Wenn du alle Sheets in die eine Datei willst, dann musst du nach dem ersten Kopiervorgang den Code:
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\Dein Pfad\Neue Datei.xlsx", FileFormat:=xlOpenXMLWorkbook
aendern in:
Workbooks.Open Filename:="C:\Dein Pfad\Neue Datei.xlsx"
Wenn du die Datei nach dem Kopieren verschiebst, kannst du alles so lassen.
Anzeige
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 14:43:55
Sue
oh sorry, hab deine letzte Nachricht jetzt erst gesehen... ich versuch's mal
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 14:42:48
Sue
hm, jetzt komm ich nicht mit :D (Freitagnachmittag halt)
Also das Sheet selbst ist jedes Mal gleich benannt, nur eben der Dateiname nicht.
Die entstehende Datei daraus darf auch nur immer gleich heißen, da sich darauf Verweise befinden etc.. Es geht lediglich um die Aktualisierung der darin vorhandenen 8 Arbeitsblätter.
Also wenn ich deinen Code bearbeite, füge ich ja die Dateinamen der aktuellsten Datei (z. B. 1 von 8) ein, heißt ja das die Schaltfläche beim nächsten Klicken haargenau die Gleiche Excel will, oder missverstehe das..?
Sorry!
Anzeige
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 14:47:18
Torsten
Nein, du musst nur den Namen des Sheets aus den 8 Dateien angeben, das kopiert werden soll und den Namen der Datei, die neu erstellt wird. Die Namen der 8 Dateien brauchst du nicht angeben, denn wie ich gesagt habe, werden alle Exceldateien in dem Ordner abgearbeitet.
AW: Suche Beiträge oder brauche auch Hilfe
15.06.2018 15:06:55
Torsten
Wenn du den Code so lassen willst und die neu erstellte Datei nach dem Kopiervorgang automatisch verschieben willst, kann ich dir noch das anbieten:
Sub verschieben()
Dim strQuelle As String
Dim strZiel As String
Dim objDatei As Object
strQuelle = "C:\Quellfolder\Neue Datei.xlsx"
strZiel = "C:\Zielfolder\"
Set objDatei = CreateObject("Scripting.FileSystemObject")
objDatei.MoveFile strQuelle, strZiel
Set objDatei = Nothing
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige