Makro nur in gefilterten Zeilen ausführen
Hallo,
ich hab dieses Problem:
eine Exceltabelle mit ca 2000 EInträgen zu Lieferungen in diesem Monat sortiert nach Datum.
Es gibt ein Makro, dass in jeder Zeile eine bestimmte Aktion durchführt. Nun soll die Tabelle aber nach einem bestimmten Datum gefiltert werden ("Sendungen vom 18.12. anzeigen") und dann das Makro nur bei diesen EInträgen ausgeführt werden.
Außerdem wäre schön, wenn in der Anzeige immer automatisch (von selbst evtl auch auf Knopfdruck) die Einträge ab "heute" angezeigt werden, die alten Lieferungen dürfen aber nicht gelöscht werden, weil sie noch f´ür ne Monatsauswertung gebraucht werden.
Dankeschön für irgendwelche Ideen/Lösungsvorschläge
Gruß
Andreas
Antwort schreiben
Antwort 1 von Marie vom 08.12.2019, 04:31 Options
Hallo Andreas,
ich habe nicht wirklich verstanden was Du nun eigentlich möchtest??
gruß marie
Antwort 2 von andraes_3 vom 11.12.2019, 17:30 Options
Hallo Marie (und wer es sonst noch lesen sollte)
...ich versuch's nochmal zu erklären...
ich hab ein Makro, das vereinfacht so aussieht:
x = 1
Sprung 1
cells (x ,1 ).select
[Aktion ausführen]
x = x + 1
goto Sprung1
Im ganzen Makro ist natürlich auch drin, dass es keine Endlosschleife ist, sondern am Ende der Tabelle aufhört.
Die Aktion selbst ist schwer zu erklären, hängt mit einem anderen Programm zusammen, aber das läuft ja auch schon.
Mein Problem ist , dass ich nicht alle Zeilen der Tabelle durchlaufen möchte, sondern dass der Anwender einen bestimmten Filter setzt (z.B. nach Datum, oder Artikelnummer, oder Lieferant) und dann die Aktion nur in den gefilterten Zeilen abläuft.
Verständlich(er)? :-)
LG
Andreas
Antwort 3 von Marie vom 11.12.2019, 21:01 Options
Public Function test()
Dim Zeile As Integer
For Zeile = 1 To 2000
If Cells(Zeile, 1) = "Dein Kriterium" Then
Cells(Zeile, 1).Select
[Aktion ausführen]
End If
Next Zeile
End Function
Vielleicht so in der Art?? Oder hab ich was falsch verstanden?
Kopier mal in Visual basic und probier und sag was falsch ist.
Gruß Marie