![]() |
||
![]() |
Produkte mit Verfallsdatum suchen und auflistenMeine Arbeitsmappe enthält verschiedene Tabellen mit Materialien und dem jeweils zugehörigen Verfallsdatum. Nun möchte ich in einer weiteren Tabelle automatisch alle verfallenen Materialien auflisten. Kann ich das in Excel ohne großen Programmieraufwand umsetzen? Ganz ohne Programmierung kommen Sie nicht aus. Mit einem relativ kleinen VBA-Makro können Sie diese Aufgabe jedoch zumindest bei gleich aufgebauten Einzeltabellen meist recht elegant lösen. In der geöffneten Arbeitsmappe führen Sie den Befehl »Extras | Makro | Makros« aus. Dann geben Sie dem Makro einem Namen wie zum Beispiel äVerfallô und klicken auf die Schaltfläche »Erstellen«. Im VBA-Editor geben Sie nun folgende Programmzeilen ein oder Sie kopieren das Listing von der Heft-CD unter CHIP-Code verfall.
Nach der Definition der nötigen Variablen ermittelt das Makro die Anzahl der Tabellen und fügt nach dem letzten Blatt die neue Tabelle »Verfallene Produkte« ein. Die Variable »n« dient als Zähler für die verfallenen Produkte und zur Ansteuerung der richtigen Zeile in der Auflistung. Die beiden Schleifen mit »i« und »j« durchlaufen alle Tabellen und darin jeweils 1.000 Zeilen. Diesen Wert können Sie anpassen, je nachdem, wie viele Materialien eine Tabelle maximal enthält. Im gezeigten Beispiel setzt die Größe »Worksheets(i). Cells(j,3)« voraus, dass die Verfallsdaten in jeder Tabelle in der dritten Spalte stehen. Wenn diese Zelle nicht leer ist, prüft die nächste Anweisung, ob das Datum vor dem aktuellen Zeitpunkt liegt. In diesem Fall kopiert das Makro die betreffende Zeile in die neue Tabelle mit den verfallenen Produkten. Am Ende schaltet das Makro den Kopiermodus wieder aus und informiert über die Anzahl der verfallenen Produkte. Falls Ihre Einzeltabellen unterschiedlich aufgebaut sind, müssen Sie die erste Schleife entfernen und die darin stehenden Anweisungen wiederholt in den Programmcode einfügen. Dann können Sie für jede Tabelle getrennt die passenden Einstellungen vornehmen. Bevor Sie das Makro zum nächsten Mal ausführen, müssen Sie die zuvor angelegte Tabelle »Verfallene Produkte« löschen oder zumindest umbenennen. Das Makro legt diese Tabelle stets neu an. |
![]() |