Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sortieren und Rausfiltern von Zeilen
#1
Heyo!

Ich bin noch relativ frisch, was Makro's und VBA etc. angeht...

Meine Frage wäre folgende:
Ich habe eine größere Tabelle mit diversen Artikeln und einen kleinen Weg, den diese zurück gelegt haben generiert.
als Beispiel:
  
ArtikelNr.                            Datum                           Bestand
XXXXX1                              1160301                        1
XXXXX1                              1160305                        0
XXXXX1                              1160403                        1

XXXXX4                              1160402                        1
XXXXX4                              1160410                        0
XXXXX5                              1160228                        3

Um zu erklären, das Datum wird von einem Programm so generiert, da die Tabelle extrem lang ist würde ich das so behalten wollen. Die 1 am Anfang wird generiert (ist vom Programm leider so vorgelegt und hat keine Bedeutung),  die 16 steht fürs Jahr, die nächsten 2 Zahlen für Monat und die letzten 2 für Tag.

Was ich jetzt gerne hätte, dass die Tabelle so filtert, dass nur die letzte "Bewegung" des Artikels angezeigt wird und dann auch nur, wenn der Bestand > 0 ist.
Ich hab mich mal durchgeklickt und wüsste leider nicht, wie ich das umsetzen könnte kann mir da jemand helfen?


Danke im Vorraus! :)
LG, Learco.
Antworten Top
#2
Hallo,

wie wäre es, mit einer Hilfsspalte zuerst ein xl-Datum zu erzeugen, dann sollte das Filtern relativ einfach gehen.

mfg
Antworten Top
#3
(04.05.2016, 08:38)Fennek schrieb: Hallo,

wie wäre es, mit einer Hilfsspalte zuerst ein xl-Datum zu erzeugen, dann sollte das Filtern relativ einfach gehen.

mfg

Kann man das irgendwie automatisiert anstellen? Weil die Tabelle besteht aus knapp 29000 Zeilen..
Antworten Top
#4
Wink 
Fennek schrieb:

wie wäre es, mit einer Hilfsspalte zuerst ein xl-Datum zu erzeugen, dann sollte das Filtern relativ einfach gehen.


Deine Antwort:
Zitat:ArtikelNr.                            Datum                           Bestand
XXXXX1                              1160301                        1


Die 1 am Anfang wird generiert (ist vom Programm leider so vorgelegt und hat keine Bedeutung)

... und wenn Du die 1 vorne wegschneidest, das ginge zB. mit VBA, dann hast Du doch schon das gesuchte Datum,
oder sehe ich das falsch?
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
Da kommt jetzt das Problem, dass das knapp 50 verschiedene Daten sind, klar könnte ich dann ein Datum auswählen, dann mit suchen / ersetzten dann das korrigieren,
aber meine Frage dann, wäre, ob man dies nicht automatisierter anstellen kann, weil das wäre ja trotzdem ein Haufen an Arbeit.
Antworten Top
#6
Hallo,

magst Du meine Frage nicht beantworten?

da ging es doch erst mal nur darum, ein Datum zu finden, nach dem dann vernünftig gefiltert werden kann.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#7
Hi Learco,

du schreibst zwar, dass du "frisch" bist, was VBA anbelangt. Daraus schließe ich, dass du eine Makrolösung haben willst. Zwei Antworten hast du darauf ja schon bekommen. Aber muss es denn wirklich VBA sein?

Hier mein Vorschlag für eine Formellösung zum Erstellen eines gültigen Datums

Tabelle5

AB
1116030101.03.16
2116030202.03.16
3116030303.03.16
4116030404.03.16
5116030505.03.16
Formeln der Tabelle
ZelleFormel
B1=(RECHTS(A1;2)&"."&TEIL(A1;4;2)&"."&TEIL(A1;2;2))*1

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Jetzt kannst du doch ganz normal nach diesen Daten mit Bordmitteln filtern.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#8
Moin,

2 Fragen:
  1. Sind das wirklich Leerzeilen in der Auflistung? Wenn ja, raus damit, die unterbrechen eine Liste.
  2. Müssen diese "komischen kalendarischen Daten" so bleiben oder können die alle in ein "echtes" Datum umgewandelt werden?
So oder so gibt es eine Lösung, wir erwarten von dir aner eine klare Antwort auf unsere Beiträge bzw. Fragen.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#9
Hallo Learco,

meiner Meinung nach ist das vorliegende Datumsformat genau richtig für eine weitere "Verarbeitung".
Per Formel ginge z.B. das:

Formel in D2: =WENN(A2<>"";MAX((A$2:A$99999=A2)*(B$2:B$99999))=B2*(C2>0)) und mit Strg+Shift+Enter bestätigen.
Diese Formel dann einfach am Rahmenkreuz runterziehen.

ABCD
1ArtikelNr.DatumBestandFilter
2XXXXX111603011FALSCH
3XXXXX111603050FALSCH
4XXXXX111604031WAHR
5FALSCH
6XXXXX411604021FALSCH
7XXXXX411604100FALSCH
8XXXXX511602283WAHR
Formeln der Tabelle
ZelleFormel
D2{=WENN(A2<>"";MAX((A$2:A$99999=A2)*(B$2:B$99999))=B2*(C2>0))}
D3{=WENN(A3<>"";MAX((A$2:A$99999=A3)*(B$2:B$99999))=B3*(C3>0))}
D4{=WENN(A4<>"";MAX((A$2:A$99999=A4)*(B$2:B$99999))=B4*(C4>0))}
D5{=WENN(A5<>"";MAX((A$2:A$99999=A5)*(B$2:B$99999))=B5*(C5>0))}
D6{=WENN(A6<>"";MAX((A$2:A$99999=A6)*(B$2:B$99999))=B6*(C6>0))}
D7{=WENN(A7<>"";MAX((A$2:A$99999=A7)*(B$2:B$99999))=B7*(C7>0))}
D8{=WENN(A8<>"";MAX((A$2:A$99999=A8)*(B$2:B$99999))=B8*(C8>0))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Nun kannst Du nach Spalte D alle WAHR filtern.

Gruß Uwe
Antworten Top
#10
(04.05.2016, 09:59)Kuwer schrieb: Hallo Learco,

meiner Meinung nach ist das vorliegende Datumsformat genau richtig für eine weitere "Verarbeitung".
Per Formel ginge z.B. das:

Formel in D2: =WENN(A2<>"";MAX((A$2:A$99999=A2)*(B$2:B$99999))=B2*(C2>0)) und mit Strg+Shift+Enter bestätigen.
Diese Formel dann einfach am Rahmenkreuz runterziehen.

ABCD
1ArtikelNr.DatumBestandFilter
2XXXXX111603011FALSCH
3XXXXX111603050FALSCH
4XXXXX111604031WAHR
5FALSCH
6XXXXX411604021FALSCH
7XXXXX411604100FALSCH
8XXXXX511602283WAHR
Formeln der Tabelle
ZelleFormel
D2{=WENN(A2<>"";MAX((A$2:A$99999=A2)*(B$2:B$99999))=B2*(C2>0))}
D3{=WENN(A3<>"";MAX((A$2:A$99999=A3)*(B$2:B$99999))=B3*(C3>0))}
D4{=WENN(A4<>"";MAX((A$2:A$99999=A4)*(B$2:B$99999))=B4*(C4>0))}
D5{=WENN(A5<>"";MAX((A$2:A$99999=A5)*(B$2:B$99999))=B5*(C5>0))}
D6{=WENN(A6<>"";MAX((A$2:A$99999=A6)*(B$2:B$99999))=B6*(C6>0))}
D7{=WENN(A7<>"";MAX((A$2:A$99999=A7)*(B$2:B$99999))=B7*(C7>0))}
D8{=WENN(A8<>"";MAX((A$2:A$99999=A8)*(B$2:B$99999))=B8*(C8>0))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Nun kannst Du nach Spalte D alle WAHR filtern.

Gruß Uwe

Genau SO wollte ich das haben - kannst du mir vielleicht die Formel erklären, damit ich da keine Verständnisprobleme bekomme?

An alle anderen, tut mir leid, dass ich teilweise nicht drauf geantwortet habe, weil ich eben relativ viel zu tun hatte.
Danke an alle Antworten :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste