Mit VBA Excelliste automatisch aktualisieren?

...komplette Frage anzeigen Liste - (Excel, Liste, makro) Ordnerübersicht - (Excel, Liste, makro) Auftragsvorlage - (Excel, Liste, makro)

1 Antwort

Es geht im Prinzip zwar, sich von Windows benachrichtigen zu lassen, wenn Dateien in einem Ordner hinzukommen oder verschwinden, aber das ist reichlich kompliziert.

Ich würde in der Liste eine zusätzliche (ausgeblendete) Spalte anlegen, in der der Dateiname steht. Das ist m. E. die einfachste Möglichkeit, festzuhalten, welche Dateinamen schon behandelt worden sind.

Der einfachste Weg, Dateien aufzulisten, wäre ein Dateilistenfeld, aber das gibt es in VBA nicht. Dann muss man über die Dir()-Funktion gehen.

Vermutlich ist die alphabetische Ordnung dieser Dateien schon die richtige. Sonst ist es nicht schwer, die Dateien (nachträglich) nach Änderungsdatum sortieren zu lassen. Dafür wäre wohl eine ListBox am besten geeignet - die lässt sich auch als unsichtbar formatieren, sodass sie nicht stört. So eine ListBox kann man im Prinzip auch für die Dateinamen verwenden, wenn einen die ausgeblendeten Spalten stören.

Vorgeschlagene Vorgehensweise:

1. Suche die erste freie Zeile in der Zieltabelle

2. Für jede Quelldatei im Reparaturauftragsordner:

2.1. Prüfe, ob der Name der Quelldatei schon in der Zieltabelle steht; falls ja, überspringe die folgenden Punkte 2.x

2.2. öffne die Quelldatei

2.3. kopiere die betreffenden Zellen der Quelldatei in die betreffenden Zellen der Zieldatei

2.4. trage den Namen der Quelldatei in die betreffende Zelle der Zieldatei ein

2.5. schließe die Quelldatei

3. speichere die Zieldatei - nicht, dass der Anwender das noch vergisst (ist nicht unbedingt nötig, schadet aber auch nicht)

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?