Clever-Excel-Forum

Normale Version: Suchfeld
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo
Ich benötige Hilfe bei einer kleinen Aufgabe. Ich habe eine Telefonliste mit den Namen und Nummer. Nun soll ich ein Suchfeld erstellen und so programmieren, dass man wenn man einen Name eingibt, die Telefonnummer angezeigt wird und wenn man die Telefonnummer eingibt, der Name angezeigt wird. Nicht mit ctrl + f. Um meine Frage ein bisschen zu präzisieren: Am Ende soll ich zwei Felder haben. Im linken Feld soll der Namen stehen, im rechten die Telefonnummer. Wenn man im linken Feld einen Name eingibt soll die passende Telefonnummer im rechten Feld auftauchen. Gibt man im rechten Feld die Telefonnummer ein, soll der passende Name dazu im linken Feld erscheinen. Ich habe in der Exceltabelle eine Liste mit den Namen und Telefonnummer
LG Lars
Hola,

und hier jetzt nochmal, wo dir doch im anderen Forum geantwortet wurde?

http://ms-office-forum.net/forum/showthr...p?t=325528

Gruß,
steve1da
Hallo

Leider bin ich ein Anfänger und konnte mit deiner Antwort nicht viel Anfange Huh
Hallo,

deine Angaben sind doch recht dürftig. Ich selbst habe von VBA relativ wenig bis keine Ahnung, aber schau dir mal dieses Beispiel an - vielleicht hilft es dir weiter.

Hoppla, ich hätte vor dem Posten nochmals aktualisieren sollen.

Zitat:Leider bin ich ein Anfänger und konnte mit deiner Antwort nicht viel Anfangen

Dann kann man das genauso dem Helfer auch mitteilen und i.d.R. wird man dann auch weitere Erläuterungen bekommen. Einfach in ein anderes Forum zu wechseln ist ganz schlechter Stil, zumal die meisten Helfer in mehreren Foren unterwegs sind. Du solltest dich bei Gelegenheit mal über Crossposting informieren.
Hallo!
Mir ist es egal, wo es weiter geht.
Damit es aber überhaupt weitergehen kann solltest Du meinen letzten Hinweis im Nachbarforum beherzigen (aussagekräftige anonymisierte Beispieldatei)!
Auf einen seitenlangen Thread habe ich (persönlich) nämlich keine Lust.

Gruß Ralf
Hallo,

dass das nur mit VBA funktioniert, dürfte ja mittlerweile klar sein. Hier mal ein Beispiel, wie sowas möglich wäre (es gibt da auch andere Möglichkeiten!)

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEF
1A123  NameTelefonnummer
2B234  D456
3C345    
4D456    
5E789    
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Hier der zugehörige Code, der hinter die Tabelle gehört:


Code:
Private Sub worksheet_change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False

If Target.Address = "$E$2" And Target <> "" Then
   Range("F2") = Application.WorksheetFunction.VLookup(Target, Range("A:B"), 2, 0)
ElseIf Target.Address = "$F$2" And Target <> "" Then
   Range("E2") = Application.WorksheetFunction.Index(Range("A:A"), WorksheetFunction.Match(Target, Range("B:B"), 0))
End If
Application.EnableEvents = True
End Sub
Hi Lars,

erst mal @Edgar:


Zitat:dass das nur mit VBA funktioniert, dürfte ja mittlerweile klar sein.

na, das halte ich aber für ein Gerücht. :05:

Hier meine Formellösung. Du kannst die Suche sowohl mit dem Namen als auch mit der Telefonnummer durchführen. Platzhalter (*) ist erlaubt.

Tabelle2

ABCDE
1NameTelefonnummerSucheErgebnis
2Peter Pan0123 456789eva*0113 65498
3Eva Zwerg0113 65498
4Adam Riese0888 888999777
Formeln der Tabelle
ZelleFormel
E2=WENN(ISTNV(SVERWEIS($D$2;A:B;2;0));INDEX(A:A;VERGLEICH($D$2;B:B;0));SVERWEIS($D$2;A:B;2;0))

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Hallo Günter,


ich zitiere:

Zitat:Wenn man im linken Feld einen Name eingibt soll die passende Telefonnummer im rechten Feld auftauchen. Gibt man im rechten Feld die Telefonnummer ein, soll der passende Name dazu im linken Feld erscheinen.

Und, immer noch ein Gerücht??  Dodgy

Außerdem läuft die Formel in einen Fehler, wenn der Suchbegriff nicht existiert:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDE
1NameTelefonnummer SucheErgebnis
2Peter Pan0123 456789 Oskar#NV
3Eva Zwerg0113 65498   
4Adam Riese0888 888999777   

ZelleFormel
E2=WENN(ISTNV(SVERWEIS($D$2;A:B;2;0));INDEX(A:A;VERGLEICH($D$2;B:B;0));SVERWEIS($D$2;A:B;2;0))
E3=WENN(ZÄHLENWENN(A:B;D2);WENNFEHLER(SVERWEIS(D2;A:B;2;0);INDEX(A:A;VERGLEICH(D2;B:B;0)));"")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Ok Edgar,

das mit links und rechts habe ich tatsächlich überlesen. Ich bin von einem Suchfeld für beide Richtungen ausgegangen, was in meinen Augen auch mehr Sinn macht. Bei Peters Musterlösung ist ja auch nur ein Suchfeld vorhanden.

Aber du weißt ja, wer Recht hat, gibt einen aus. In diesem Sinne freue ich mich schon doppelt auf Grenzau. :15:
Hi Edgar,


Zitat:Außerdem läuft die Formel in einen Fehler, wenn der Suchbegriff nicht existiert:

das ist ja das geringste Problem. Neben deiner Lösung kann man mit WENNFEHLER das Ganze abfangen:

Tabelle2

DE
1SucheErgebnis
2gustav*Suchbegriff nicht vorhanden
Formeln der Tabelle
ZelleFormel
E2=WENNFEHLER(WENN(ISTNV(SVERWEIS($D$2;A:B;2;0));INDEX(A:A;VERGLEICH($D$2;B:B;0));SVERWEIS($D$2;A:B;2;0));"Suchbegriff nicht vorhanden")

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8