27. 04. 2013, 11:58 # 1 Neuer Benutzer Registrierung: 01. 2013 Karma: VBA - Ordner rekursiv nach Dateien durchsuchen & Dateien öffnen Guten Tag Zusammen, ich habe ein "Master" Dokument und dieses Master Dokument füllt bestimmte Zellen mit Informationen aus anderen Dokumenten. Hab das auch implementiert und funktioniert super. () Nur müssen diese Dokumente die ich öffne in vorher festgelegten Ordnern sein und ich muss die Dateinamen genau definieren. Excel vba datei suchen im ordner. Ich möchte aber im Excel Sheet eine Liste an möglichen Ordnernamen erstellen, die dann rekursiv durchlaufen werden und alle Excel Dokumente die dort vorhanden sind geöffnet, Information herausgeholt (das mache ich) und geschlossen werden. Vielleicht mal bessere Darstellung: Erlaubte Ordnernamen: (steht im Masterdokument) Ordner Anton Ordner Berta Ordner Caesar Tatsächlich ist im Ordner Anton nochmal ein Ordner Berta drin und dadrin ist wieder ein Ordner Anton. Jetzt soll der Skript bis zum letzten Ordner reingehen und alle Excel Dokumente wie Sie auch heißen öffnen, eine kleine Prozedur ausführen(das übernehme ich) und dann das Dokument wieder schließen.
Nehmen wir an, Sie möchten eine Datei namens (Excel 2007 / 2010) bzw. (Excel 2003) verwenden, die im Verzeichnis C:Daten abgelegt ist. Der einfachste Weg, überhaupt erst einmal eine Routine in VBA dargestellt zu bekommen, ist immer der Makrorekorder. Excel VBA - Teil eines Dateinamen suchen. Er ist vor allem dann hilfreich, wenn eine komplexe Syntax mit vielen Parametern in VBA dargestellt werden soll. Den Makrorekorder findet man in Excel 2003 unter Extras / Makros / Makro aufzeichnen, unter Excel 2010 ist es unter Entwicklertools / Code / Makro aufzeichnen. Als Prozedur, die mit dem Makrorekorder erstellt wurde, sieht das dann wie folgt aus: Sub Makro1() ' ' Makro1 Makro ChDir "C:Daten" Filename:="" End Sub Hierzu einige Anmerkungen: Die Zeilen, die mit dem Hochkomma beginnen (oben die Zeilen 2-5), sind Kommentarzeilen, die beim Programmdurchlauf ignoriert werden. Im Folgenden wird diese Möglichkeit für Erläuterungen des Codes genutzt. Wie man leicht sieht, hat der Makrorekorder genau das aufgezeichnet, was gemacht wurde: "Öffne aus dem Verzeichnis C:Daten".
Wie kann ich in VBA das Programm dazu bringen, zu pausieren, bis der Nutzer eine Eingabe gemacht hat? Hallo liebe Community, ich habe mal wieder eine Frage zu VBA. Ich möchte jetzt, dass mein Programm, nachdem es eine Prozedur (an deren Ende zwei neue Zellen erzeugt werden) ausgeführt hat, pausiert. Die Pause soll solange sein, bis der Nutzer in diese zwei Zellen Werte eingetragen hat, und dann an der selben Stelle weiterlaufen. Ich habe mir schon überlegt, das Hauptprogramm in zwei Teile zu trennen und nach dieser Prozedur dann den ersten Teil zu beenden und den zweiten Teil dann mit einem Button oder Enter zu starten. Es muss doch aber eine schönere Alternative dafür geben. Ich bin dankbar für alle Ratschläge. Ich würde dazu mal keine Screenshots vom Code hochladen, da es ja eher eine prinzipielle Fragestellung ist. Excel vba datei suchen in deutschland. Vielen Dank im Voraus. MfG Patrick. Werte untereinander in Excel erfassen - VBA Frage an die Excel Profis und VBA Experten. Die Aufgabenstellung baut aufeinander auf. Aufgabenstellung: Zelle A1 soll als Eingabefeld in Excel dienen.
Manchmal ist es notwendig, das in einem Ablauf geprüft wird, ob eine Datei oder Verzeichnis existiert. Dieses Vorgehen kommt zum Beispiel vor, wenn man Daten aus einer bestehenden Datei importierten möchte. Ein zweites Szenario wäre, das man eine bestehende Datei nicht überschreiben möchte, sondern nur erweitern oder ändern. Um jetzt überprüfen zu können, ob die Datei oder das Verzeichnis existieren, nehmen wir uns die Typbibliothek Scripting zur Hilfe und nutzen "FileSystemObject" in der folgenden Funktion: Public Function DateiVorhanden(strDatei As String) Dim objFSO As Object Set objFSO = CreateObject("leSystemObject") If leExists(strDatei) = True Then DateiVorhanden = True Else DateiVorhanden = False End If Set objFSO = Nothing End Function Als erstes erstellen wir das Objekt leSystemObject. Vorgehensweise: Suchen nach Dateien mit einem bestimmten Muster - Visual Basic | Microsoft Docs. Danach wird das Ereignis FileExists aufgerufen mit dem übergebenen Pfad aus der Variable strDatei. Ist die Datei oder das Verzeichnis vorhanden, so gibt die Funktion DateiVorhanden Wahr (True) zurück.
Aber wie gesagt, bei dieser Möglichkeit macht man doppelte Arbeit, es wäre von vornherein besser dachte ich mir, wenn ich nur Ordner und somit Dateien in die Liste aufnehme die in "betracht" kommen. Geändert von ablage01 (28. 2013 um 14:17 Uhr). 28. 2013, 16:27 # 6 Wahrscheinlich muss ich das mit einer For Schleife probiere es mal.. 28. Excel vba datei suchen 1. 2013, 16:39 # 7 ransi MOF Koryphäe Registrierung: 29. 11. 2007 Beiträge: 1. 394 Modifikator: 18 Hallo Habe ich das richtig verstanden: Du hast Ordnernamen in er Liste: Tabelle1 A 1 Anton 2 Berta 3 Caesar Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4 Jetzt willst du alle Exceldateien die sich in so einer Ordnerstruktur befinden abarbeiten: C:\uvw\xyz\Anton\Berta\Caesar\ oder C:\abc\Anton\Berta\Caesar\ 28. 2013, 17:32 # 8 Hallo ransi, lieben Dank, ich habe mittlerweile mein Problem gelöst. In dem Verzeichnis wo das Dokument ausgeführt wird gab es Verzeichnisse (Anton/Berta/Caesar/Dora etc) die wiederum KÖNNEN weitere Verzeichnisse mit Anton/Berta/Caesar etc enthalten.