Frage von Freidenz, 36

Große Exceltabelle wird ersetzt durch ein Eingabefenster?

Ich habe vor die Zellen der Tabelle auf eine Breite von 0 Pixeln zu bringen damit diese gesperrt ist und stattdessen eine Art Eingabefenster anzuzeigen, welches die Werte aus vorheriger Tabelle wiedergibt wenn der gesuchte Name eingetragen wurde. Das Problem ist dass manche auch den geichen Namen haben und deswegen mehrere Beispiele ausgespuckt werden sollen. Also Tabelle hat paar 1000 Zeilen (5000) und bis AX Spalten. Diese schiebe ich alle nach links und sperre Sie. In Spalte A sind die gesuchten Namen. In AZ3 soll der Name, der gesucht wird, eingetragen werden. von dort aus nach rechts soll die Ausgabe angezeigt werden. (Inhalte aus Spalte: Vorname, Str. , Nr. , PLZ , Stadt) Sollen ausgegeben werden!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Ghanasoccer, 19

Wenn ich das richtig verstanden habe kopiere einfach diese Formeln nacheinander rechts von AZ3 und zeihe sie danach nach unten.  (so weit wie du willst)

BA3=WENNFEHLER(INDEX($A$2:$AX$5000;VERGLEICH($AZ$3;$A$2:$A$5000;0)+ZEILE(A1)-1;VERGLEICH("Name";$A$1:$AX$1;0));"Gib in AZ3 einen Namen ein!")

BB3=WENNFEHLER(INDEX($A$2:$AX$5000;VERGLEICH($AZ$3;$A$2:$A$5000;0)+ZEILE(A1)-1;VERGLEICH("Vorname";$A$1:$AX$1;0));"Namen!")

BC3=WENNFEHLER(INDEX($A$2:$AX$5000;VERGLEICH($AZ$3;$A$2:$A$5000;0)+ZEILE(A1)-1;VERGLEICH("Str.";$A$1:$AX$1;0));"Namen!")

BD3=WENNFEHLER(INDEX($A$2:$AX$5000;VERGLEICH($AZ$3;$A$2:$A$5000;0)+ZEILE(A1)-1;VERGLEICH("Nr.";$A$1:$AX$1;0));"Namen!")

BE3=WENNFEHLER(INDEX($A$2:$AX$5000;VERGLEICH($AZ$3;$A$2:$A$5000;0)+ZEILE(A1)-1;VERGLEICH("PLZ";$A$1:$AX$1;0));"Namen!")

BF3=WENNFEHLER(INDEX($A$2:$AX$5000;VERGLEICH($AZ$3;$A$2:$A$5000;0)+ZEILE(A1)-1;VERGLEICH("Stadt";$A$1:$AX$1;0));"Namen!")

Falls es nicht klappt schau bitte zuerst nach ob du z.B. Str. oder Stadt anders geschrieben hast.

Kommentar von Freidenz ,

Schaus mir gleich an. Danke

Expertenantwort
von Ninombre, Community-Experte für Excel, 23

Es gibt auch Lösungen für SVERWEIS mit mehreren Treffern, aber das erscheint arg mit Kanonen auf Spatzen geschossen zu sein.

Im Grunde kannst Du die Möglichkeiten des Autofilters nutzen: Der User wählt entweder aus der Liste aus (was zugegebenermaßen bei 5000 unübersichtlich wird) oder schreibt es eben direkt in das Suchfenster (wird gerne übersehen).

Den Filter könntest Du ggf. auch über ein Makro füllen lassen, wenn sowas unbedingt gewünscht ist. Also eine Zelle definieren, wo der Suchbegriff eingetragen wird, einen Button daneben und fertig.

Als Makro reicht im Zweifel ein einzelner Befehl: C1 ist hier die Such-Zelle

Sub Makro1()
ActiveSheet.Range("$A$2:$C$6").AutoFilter Field:=1, Criteria1:=Range("C1").Value
End Sub
Kommentar von Freidenz ,

Wie geht das mit den Makros. Hab das noch nie versucht...

Kommentar von Freidenz ,

Ich will ja die Tabelle minimieren damit die Mitarbeiter nur das vor Augen haben was sie eben auch suchen...

Kommentar von Ninombre ,

Nur eine Variante: Du baust einen "Suchbutton" ein. Wenn der Mitarbeiter draufklickt, kann er den Namen eingeben und dieser wird dann im Autofilter gesetzt

Sub Schaltfläche2_Klicken()
ActiveSheet.Range("A:Z").AutoFilter field:=1, Criteria1:=InputBox("Bitte den gesuchten Namen eingeben")
End Sub

Allgemeines zu Schaltflächen aka Buttons und das Zuordnen von Makros steht zB hier

http://webcyclus.de/excel-2010-button-einfugen/

Keine passende Antwort gefunden?

Fragen Sie die Community