Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
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
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ordner auslesen und Wert zurückgeben

Ordner auslesen und Wert zurückgeben
23.02.2006 03:19:01
Dieter
Seit mittlerweile 7 Stunden versuche ich nun schon folgende Funktion über VBA zu realisieren. Leider ohne Erfolg :-(
Ich möchte per Makro einen vorhandenen Ordner auf der Festplatte nach Excel-Dateien auslesen lassen. In dem Ordner werden Rechnungen im Format "Rechnung 1.xls" gespeichert.
In einer Vorlage, deren Änderungen vor dem Schließen nicht gespeichert werden (sondern unter z.B. "Rechnung 2" im Ordner "Rechnungen"), soll nun in einer bestimmten Zelle die nächst höhere Nummer als Ziffer (nach Auslesen des Ordners) angezeigt werden.
z.B.:
Im Ordner "Rechnungen" befinden sich folgende Mappen:
- Rechnung 1
- Rechnung 2
- Rechnung 3
Bei Öffnen der Vorlage soll jetzt der Inhalt der Zelle (sagen wir "B19") die Ziffer 4 sein.
Hat jemand eine Idee oder einen Lösungsansatz?
Bin für jeden Vorschlag dankbar!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner auslesen und Wert zurückgeben
23.02.2006 08:07:15
Heiko
Hallo Dieter,
wenn die Dinger wirklich immer Rechnung 1.xls Rechnung 33.xls usw heißen dann, könnte dies Makro helfen. Denn Pfad natürlich anpassen.

Sub NeueNummerSuchen()
Dim intI As Integer, intHoechste As Integer, intHelp As Integer
intHoechste = 0
With Application.FileSearch
.NewSearch
' Pfad anpassen !!!
.LookIn = "C:\Copy\Nummer"
.SearchSubFolders = True
.Execute
For intI = 1 To .FoundFiles.Count
intHelp = Val(Right(.FoundFiles(intI), Len(.FoundFiles(intI)) - InStrRev(.FoundFiles(intI), "\") - 8))
If intHelp > intHoechste Then intHoechste = intHelp
Next intI
End With
ActiveSheet.Range("B19") = intHoechste + 1
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Ordner auslesen und Wert zurückgeben
23.02.2006 10:40:49
Dieter
Hervorragend.
Funktioniert sofort!
Um das Makro beim Aufruf der Datei automatisch ausführen zu lassen dann eben noch in die Arbeitsmappe:

Private Sub Workbook_Open()
NeueNummerSuchen
End Sub

das war`s
VIELEN Dank für die kompetente Hilfe!

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige