06.09.2016, 08:45
Makro Hilfe
|
06.09.2016, 09:12
Hi Markus,
bitte nimm die Hinweise (auch im Nachbarforum) ernst. Lies dir dazu mal diesen Beitrag durch: http://www.clever-excel-forum.de/thread-3037.html
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
06.09.2016, 10:02
So war das nicht gemeint. Habe es zur Kenntnis genommen und war unabsichtlich. Versuche nur überall Infos herzubekommen. Schreibe in das andere Forum nicht mehr. Bleibe bei diesen. Tut mir leid an Alle. Sorry
06.09.2016, 14:42
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2016, 05:15 von Kuwer.
Bearbeitungsgrund: Code berichtigt
)
Hallo Markus,
teste es jetzt noch mal mit dem Dateienholen: Sub zustel()Mit den Diagrammen solltest Du ein neues Thema beginnen, am Besten mit einem Beispiel. Gruß Uwe
06.09.2016, 19:59
Hallo, leider funktioniert es immer noch nicht. Er zeigt wieder die gleiche Fehlermeldung bei der gleichen Zeile.
06.09.2016, 20:21
Sub MWSheetsAusMehrerenDateienEinlesen()
Dim oTargetBook As Object Dim oSourceBook As Object Dim sPfad As String Dim sDatei As String 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 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 = "F:\xls makro" sDatei = Dir(CStr(sPfad & "*.xl*")) '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 Fehler aufgetreten ist, wird dieser resettet If Err.Number <> 0 Then Err.Number = 0 Err.Clear End If On Error GoTo 0 'Schritt 4: Datei wieder zu machen und nächste Schleifenrunde oSourceBook.Close False 'nicht speichern 'Nächste Datei sDatei = Dir() Loop Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten Application.DisplayAlerts = True 'Fehlermeldungen wieder anzeigen 'Kleine finale Fertig-Meldung MsgBox "Fertig!", vbInformation + vbOKOnly, "Hinweis!" 'Variablen aufräumen Set oTargetBook = Nothing Set oSourceBook = Nothing End Sub Dieser Makro funktioniert aber überträgt keine Daten in Meine Arbeitsmappe, diese bleibt leer?
07.09.2016, 05:16
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste