Anzeige
Archiv - Navigation
1824to1828
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

Daten aus Excel in Ordner exportieren

Daten aus Excel in Ordner exportieren
20.04.2021 15:18:48
DKing158
Hallo, folgendes Problem:
ich versuche aus einer Excelliste, die Dateien aus dem Exelblatt in eine Ordnersturktur zu exportieren. Folgende Coe verwende ich:

Sub MakeFolders()
Dim Rng As Range
Dim maxRows, maxCols, r, c As Integer
Set Rng = Selection
maxRows = Rng.Rows.Count
maxCols = Rng.Columns.Count
For c = 1 To maxCols
r = 1
Do While r 
Kann mir einer sagen, warum er mir bei "If Len(Dir(ActiveWorkbook.Path & "\" & Rng(r, c), vbDirectory)) = 0 Then" Fehler 52 ausspuckt.... weil im Prinzip sage ich damit nur dass er in dem ordner, da wo die Excel liegt die Ordner abspeichern soll

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Excel in Ordner exportieren
20.04.2021 18:37:54
Oberschlumpf
Hi,
zuerst mal:
mit Len(...) wird die Anzahl Zeichen eines Ausdrucks zurückgegeben.
z Bsp ergibt LEN("Anna") = 4, weil das Wort "Anna" 4 Zeichen enthält.
dann:
bei deiner Prüfung If Len(Dir(Activ... wird als Ergebnis niemals 0 rauskommen, weil ActiveWorkbook.Path - immer - einen Eintrag hat, nämlich den Speicherpfad der Datei, in der dein Code ausgeführt wird.
Ist z Bsp der Pfad = "D:\datei.xlsm", dann ist allein nur ActiveWorkbook.Path = "D:", und somit wäre LEN(ActiveWorkbook.Path) immer = mindestens 2 und niemals 0.
Und Fehler 52 gibt wahrsch. einen Fehler wegen falscher Dateiname oder so was aus, oder? (sorry, hier rate ich nur, weil ich die Fehlertexte zu den Fehlernummern natürlich nicht auswendig kenne)
Wenn ich recht habe mit dem Fehlertext, dann prüft deine Do/While-Schleife gerade eine Zelle, in der nix drin steht - somit kann auch kein Dateiname überprüft werden, weil eben an der Stelle kein Dateiname in der Tabelle vorhanden ist.
Und deine Aussage: "weil im Prinzip sage ich damit nur dass er in dem ordner, da wo die Excel liegt die Ordner abspeichern soll" ist auch falsch.
Du "sagst" mit deinem Code nämlich: "wenn Anzahlzeichenvon(Dir(ActiveWork...) = 0, dann...
Na ja, insgesamt verstehe ich nicht, was du erreichen willst, weil dein Code und das, was du dazu schreibst, passt nicht wirklich immer zusammen.
Vielleicht könntest du ja per Upload eine Bsp-Datei mit Bsp-Daten zeigen, mit denen genau der gleiche Fehler passiert.
Ciao
Thorsten
Anzeige
AW: Daten aus Excel in Ordner exportieren
20.04.2021 21:56:51
Luschi
Hallo DKing158,
in der Zelle Rng(r, c) steht eine Pfadangabe, die Zeichen enthält, welche für Datei- bzw. Pfadangaben für Windows nicht erlaubt sind - bei mir ww:w.

Gruß von Luschi
aus klein-Paris
AW: Daten aus Excel in Ordner exportieren
21.04.2021 09:23:34
DKing158
Vielen Dank für eure Antworten.
@Thorsten:
Im Grunde genommen hätte ich gerne einen Code, der mir aus einer bestimmten Exeldatei oder aus markierten Spalten mir die Inhalte als Ordner in einem bestimmten Pfad ablegt.
@Luschi:
wie gebe ich dann einen Pfad an, der nicht verbotene Zeichen wie " : " enthält?
Danke für eure Hilfe!
Gruß
DKing158
Anzeige
AW: Daten aus Excel in Ordner exportieren
21.04.2021 09:26:52
DKing158
Hallo Thorsten,
im Grunde genommen brauche ich nur einen Code der mir aus einer Exceldatei oder aus markierten Spalten die Inhalte in eine Ordnerstruktur in einem bestimmten Pfad ausspuckt...
Sollte mit dem Code machbar sein, kann leider nur nicht das Problem mit dem Pfad lösen...
Gruß
DKing158
AW: Daten aus Excel in Ordner exportieren
21.04.2021 17:43:34
Oberschlumpf
Hi,
...einen Code der mir aus einer Exceldatei oder aus markierten Spalten die Inhalte in eine Ordnerstruktur in einem bestimmten Pfad ausspuckt...
Tja, und welche Inhalte stehen in welchen Spalten, bzw Zellen?
Genau deswegen wäre eine Bsp-Datei mit Bsp-Daten von dir per Upload hilfreich.
Denn, genau, bei meinen vorherigen Erklärungen vergaß ich zu erwähnen, dass eine Zelle zwar einen Wert enthalten kann - dieser Wert aber Zeichen enthält, welche nicht in Datei- oder Ordnernamen enthalten sein dürfen; z Bsp der Doppelpunkt.
Auch dann kommt es zu der Fehlermeldung 52.
Ciao
Thorsten
Anzeige
AW: Daten aus Excel in Ordner exportieren
22.04.2021 18:05:32
Yal
Hallo King,
bei Behandlung von Dateien und Verzeichnis empfiehlt sich die Verwendung der Library "Microsoft Scripting Runtime" (siehe Extras, Verweise)

Sub MakeFolders()
' Unter Anbindung der Library "Microsoft Scripting Runtime"
' siehe Extras >> Verweise
Dim FSO As New FileSystemObject
Dim V As Folder
Dim maxRows, maxCols, r, c
maxRows = Selection.Rows.Count
maxCols = Selection.Columns.Count
On Error Resume Next
For c = 1 To maxCols
For r = 1 To maxRows
Set V = Nothing 'wg OnErrorResumeNext ist ein Reset notwendig
Set V = FSO.GetFolder(ActiveWorkbook.Path & "\" & Rng(r, c))
If V Is Nothing Then FSO.CreateFolder ActiveWorkbook.Path & "\" & Rng(r, c)
Next r
Next c
End Sub

Bei

Dim maxRows, maxCols, r, c As Integer
wird nur c als Integer deklariert. Die anderen bleiben "Variant". Also kann man für c auch dasselbe gelten lassen, ist nur konsequent.
"On Error ..." ist keine Anweisung, die man innerhalb einer Schleife legen sollte (ist nicht gravierend, nur unschön).
VG
Yal
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige