Alle Datensätze anzeigen die durch 2 Comboboxen ausgewählt wurden
#1
Hallo an alle hier im Forum,

ich habe folgendes Problem bei dem ich nicht weiter komme.

Es gibt zwei Combo-Boxen, die das Datum und den Trigger aus der Tabelle Rohdaten auslesen. (siehe Excel Beispiel)

Jetzt soll der Anwender ein Datum und einen Trigger selektieren und dann sollen alle dazugehörigen Datensätze in einer Tabelle angezeigt werden.

User selektiert z.B. den 8.11.2022 und "Port Congestion Index >= 100 cnt" dann sollen alle 93 Datensätze in der Tabelle gelistet sein.

Kann mir da jemand helfen, wie so etwas zu realisieren ist?

Danke für die Hilfe.

hziemer


Angehängte Dateien
.xlsx   Beispiel Rohdaten.xlsx (Größe: 63,45 KB / Downloads: 5)
Antworten Top
#2
Hallöchen,

schaue Dir in unserem Beispielbereich mal den Autofilter per Formel an.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo,

das ginge ja auch mit dem Autofilter. Allerdings ist es schlecht, dass du in Spalte D unterschiedliche Datenarten hältst.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#4
Moin

Wenn es denn unbedingt etwas Box-artiges sein soll dann verwende Datenschnitte.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#5
Hallo,

ich hatte mal wieder Lust, was zu hinterlassen. Das ist mit Comboboxen über der Tabelle auf dem Tabellenblatt angelegt.
Beim ersten Klick mit der Maus zum Aufklappen der Comboboxliste wird Diese Geladen. Man kann das natürlich auch mit Workbook_Open erledigen.
Ich hab's mal eben anders gemacht.
Viel Spass damit.


.xlsm   Beispiel Rohdaten.xlsm (Größe: 52,52 KB / Downloads: 4)

Gruß Uwe
Antworten Top
#6
Wink 
Guten Tag 

zuerst einmal Danke an alle die geantwortet haben.

Hallo Uwe.[img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Vielen Dank für Deine Mühe.

Ich hatte Probleme bei der Ausführung deines Codes.

Es kommt die Meldung Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht
  .Sort.SortFields.Add2 Key:=Range("Tabelle35[[#All],[Trigger]]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

Erst als ich die 2 beim .Add gelöscht hatte konnte ich das Programm ausführen.

Aber eine weiterführende Frage:
Wenn ich das Datum auswähle, werden mir 3 Daten angezeigt. --> Klasse
Wenn ich aber auf den Trigger gehe, erscheinen alle Einträge zu dem gewählten Datum. Kann man (Du) das so hinkriegen, das alle Einträge Unique sind?

Das würde mir und dem User das Leben extrem vereinfachen.

Danke
hziemer
Antworten Top
#7
Hallo,

ich habe gerade gesehen, dass du eine 2010 Version verwendest. Da kann es natürlich sein, dass es mit formatierten Tabellen und den dafür von mir verwendeten VBA Befehlen irgenwo Probleme geben kann. Vielleicht macht es Sinn sich einfach für ein paar Euro eine neuere Version zu kaufen. Ich habe meine 2019 'er Version seinerzeit für 24€ im Netz bei einem Händler ergattert.

Die Prozeduren, welche ich dir geschrieben habe nutzen ausschließlich die Funktionalität der formatierten Tabelle.

z.B. lesen des Inhalts der Zelle: 1. Zeile Spalte 3 der formatierten Tabelle
Code:
Tabelle21.ListObjects("Tabelle35").DataBodyRange.Cells(1, 3)
Das hatte ich aus Gründen der flexiblität getan.

Falls es mit der 2010 Version unbedingt sein soll, müsste da mal jemand ran, der diese Version noch auf seinen Rechner am Laufen hat.

Gruß Uwe

Ps.: ein Fehler war noch an 3 Stellen drin(Anzahl der Treffer). Ändere so:
Code:
Cells(3, 6) = Tabelle21.ListObjects("Tabelle35").DataBodyRange.Columns(1).SpecialCells(xlCellTypeVisible).Count
Antworten Top
#8
Hallo Uwe

Ich habe die 2016 Version vom Office.

Die Anzahl der Treffer habe ich geändert. Danke dafür. Ich hatte mit in der ersten Version mit einer Division durch 6 geholfen. Ging auch.

Funktioniert das in Deiner Version das im Dropdown vom Trigger nur unique Einträge vorhanden sind?

Danke für eine Antwort.

hziemer
Antworten Top
#9
Hallo,
 
ja klar funktioniert das bei mir, dass jeder Wert nur einmalig drinsteht.
 
Was macht die Prozedur:
Die Spalte C wird sortiert und in einer Schleife wird Zeile für Zeile geprüft, ob der Wert der Zelle in Spalte C letzten Eintrag des Arrays steht. Wenn nicht wird das Array um eine Zelle erweitert und der neue Wert eingetragen. Wenn der Wert bereits in der letzten Zelle des Arrays drinsteht, wird nichts in Array übergeben und die Schleife zählt eine Zeile weiter. Dann wird mit dem Array die Combobox befüllt. Danach wird die Sortierung wieder in die Ausgangsposition zurück sortiert.
 
Man kann es auch mit .Dictionary machen, da sind die doppelten Werte auch weg. Neben dieser Möglichkeit gibt es noch Weitere wie Bubble und co. Aber ich wollte es eben mal so.
Das ist übrigens kein DropDown sondern eine Combobox. Gehe auf Entwicklertools uns schalte den Entwurfsmodus ein und Klicke auch die Combobox.

Gruß Uwe


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#10
Hallo,

anbei die Dictionary Lösung. Zu beachten ist, dass unter Extras - Verweise - Microsoft Scripting Runtime angehakt ist, so wie in der im Anhang befindlichen Datei.


.xlsm   Beispiel Rohdaten.xlsm (Größe: 49,35 KB / Downloads: 4)

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:
  • hziemer
Antworten Top


Gehe zu:


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