Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Riesenproblem !! Äußerst diffizil...

Riesenproblem !! Äußerst diffizil...
23.11.2003 23:56:43
Franz W.
Guten Abend Fachleute,

bin grad über ne saudumme Sache gestolpert und hab keine Ahnung, was ich da tun kann (würde ja hoffen, für Euch nur ne Kleinigkeit!?!)

Ich habe in einer UF eine Kombobox - in der Liste sind Strassennamen mit Hausnummern - mit folgendem Makro dran:


Private Sub cmbStrasse_Change()
Set KdRng = Worksheets("help").Range("Adressen")
sSearch = cmbStrasse.Value
With Worksheets("help")
If .Range("B65536") = "" Then LoLetzte = .Range("B65536").End(xlUp).Row Else LoLetzte = 65536
Set Found = .Range("B33:B" & LoLetzte).Find(sSearch, LookIn:=xlValues)
End With
With Application.WorksheetFunction
If cmbStrasse <> "" And Not Found Is Nothing Then
txtPLZ = Format(.VLookup(cmbStrasse, KdRng, 2, False), "00000")
txtOrt = .VLookup(cmbStrasse, KdRng, 3, False)
Else
txtPLZ = ""
txtOrt = ""
End If
End With
dlgKdAendern.LabelStr.Caption = cmbStrasse
End Sub



Nun habe ich z.B. den Eintrag: "Kurzbauerstr. 14" in der Liste (und im Beispiel ist das der einzige Eintrag, der mit einem "K" beginnt). Möchte ich nun einen Eintrag "Kurzbauerstr. 1" ins Feld reinschreiben und fange zu schreiben, so füllt er nach dem Schreiben des Buchstaben "K" bereits das ganze Feld aus mit "Kurzbauerstr. 14".

Gehe ich nun ans Ende und betätige die Rücktaste, DANN LÖSCHT ER NICHT DIE ZIFFER 4 !! Sondern er markiert sie lediglich!! Drücke ich jetzt "DELETE", um die "4" zu entfernen, macht er den Fehler: " Die VLookup-Eigenschaft ... konnte nicht zugeordnet werden. " Und das bei der Zeile: txtPLZ = Format(.VLookup(cmbStrasse, KdRng, 2, False), "00000"), weil er ja oben für "Found" schon den Wert "Kurzbauerstr. 14" gefunden hat.

Drücke ich bei markierter "4" eine andere Zahl und mache z.B. aus der "14" eine "17", akzeptiert er das.

Drücke ich bei markierter "4" die Leertaste, klappts auch.

Ich weiß aber nicht wie ich nur die "1" schreiben kann.

Kann ich den Fehler irgendwie abfangen?? Ich weiß nicht wo ich ansetzen soll.

Für Eure Hilfe schon mal ein dickes Dankeschön im Voraus und Grüße
Franz

P.S.: Streich ich das Makro raus, dann kann ich die 4 ganz normal mit der Rücktaste löschen........

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Riesenproblem !! Äußerst diffizil...
24.11.2003 00:13:45
K.Rola
Hallo,

mit welcher Methode wird die Combobox gefüllt?

Gruß K.Rola
AW: Riesenproblem !! Äußerst diffizil...
24.11.2003 00:19:57
Franz W.
Hallo K.Rola,

vielen Dank, dass Du Dich meiner annimmst. Es handelt sich um die Kombo, die ich nach Deinem Vorschlag von gestern erstellt habe. Sie ist dreispaltig und wird gefüllt, indem im Eigenschaftsfenster unter RowSource der Name eines benannten Bereiches "Adressen" eingetragen ist.

Grüße
Franz
AW: Riesenproblem !! Äußerst diffizil...
24.11.2003 00:24:50
K.Rola
Hallo,

ergänz deinen Code um eine Abfrage nach dem Listindex. Der ist
auf jeden Fall > -1, wenn ein Eintrag vorhanden ist. Wenn du etwas
neues eingibst, das noch nicht in der Liste vorhanden ist, ist er -1

Gruß K.Rola
Anzeige
Bitte um Nachhilfe
24.11.2003 00:28:55
Franz W.
Hallo K.Rola,

ich fange mit Komboboxen erst an, und hab - ganz ehrlich gestanden - das mit dem Listindex noch nicht kapiert (auch nach Lesen der Hilfe nicht *schäm*). Was kann ich damit erreichen und wo muss ich da im Code was einbauen? Das krieg ich noch nicht hin. Magst Du mir da bitte noch mal helfen?

Grüße
Franz
AW: Bitte um Nachhilfe
24.11.2003 00:54:59
K.Rola
Hallo,

wenn du die Combobox dreispaltig mit RowSource füllst, ist doch
die ganze Abfrage mit dem VLOOKUP überflüssig, die Daten stehen
doch schon in der Box.
Was steht denn in den 3 Spalten der Combobox, Straße, PLZ und Ort?

Gruß K.Rola

PS: bei der Find- Methode kannst du beruhigt auf die Einschränkung
bis zur letzten Zelle verzichten. Find ist so schnell, dass du den
Unterschied garantiert nicht merkst, ja nichtmal messtechnisch
erfassen könntest.
Anzeige
AW: Bitte um Nachhilfe
24.11.2003 01:00:50
Franz W.
Hallo K.Rola,

(für mich) tolle neue Sachen (auch Dein P.S.!!).

Ja, in den 3 Spalten stehen Straße, Plz und Ort. Und nach Ausfüllen der Box mit der Straße soll in die Felder von PLZ und Ort der jeweils dazugehörige Wert eingetragen werden. Und es wäre natürlich toll, wenn das einfacher gehen würde, als ich das gemacht habe.

Grüße
Franz
Neuer Code
24.11.2003 01:32:21
Franz W.
Hallo K.Rola,

hab also nach Deinem Tipp mit ListIndex die ganze Find-Geschichte jetzt rausgelassen:


Private Sub cmbStrasse_Change()
Set KdRng = Worksheets("help").Range("Adressen")
With Application.WorksheetFunction
If cmbStrasse <> "" And cmbStrasse.ListIndex > -1 Then
txtPLZ = Format(.VLookup(cmbStrasse, KdRng, 2, False), "00000")
txtOrt = .VLookup(cmbStrasse, KdRng, 3, False)
Else
txtPLZ = ""
txtOrt = ""
End If
End With
End Sub


Aber wie kann ich die zur Strasse gehörenden Werte aus der Box cmbStrasse in die Felder txtPLZ und txtOrt bringen OHNE VLookup? Das hab ich noch nicht raus.

Wenn Du mir da noch mal helfen könntest, wäre ich Dir sehr dankbar.

Grüße
Franz
Anzeige
AW: Neuer Code
24.11.2003 12:55:40
K.Rola
Hallo,

abstraktes Beispiel:


Private Sub cboStr_Change()
If cboStr.ListIndex > -1 Then
txtPLZ = cboStr.Column(1)
txtOrt = cboStr.Column(2)
Else
txtPLZ = ""
txtOrt = ""
End If
End Sub


Gruß K.Rola
AW: Neuer Code
24.11.2003 13:01:28
Franz W.
Hallo K.Rola,

vielen Dank, dass Du noch mal antwortest. Sowas in der Art hab ich mir inzwischen auch zusammengebastelt. Und es klappt auch!! Darf ich als Anfänger den Profi fragen, warum Du das als abstrakt bezeichnest???

Grüße
Franz
AW: Neuer Code
24.11.2003 13:16:33
K.Rola
Hallo,

weil es nicht explizit auf deine Beispiel bezogen war.

Gruß K.Rola
Anzeige
AW: Neuer Code
24.11.2003 13:21:10
Franz W.
Hallo K.Rola,

deswegen!! Aber bis auf die Namne ist es genau richtig so!!

Vielen Dank für Deine Hilfe und beste Grüße
Franz
Teillösung oder ... ?? Aber trotzdem happy !!
24.11.2003 00:52:39
Franz W.
Hallo K.Rola,

hab was erreicht (auch wenn ich noch nicht so ganz verstanden habe, warum). Hab, wie Du vorgeschlagen hast eine Abfrage nach dem ListIndex rein und zwar hier:

If cmbStrasse <> "" And Not Found Is Nothing And cmbStrasse.ListIndex > -1 Then

Jetzt kann ich zwar mit der Rücktaste immer noch nicht löschen, es wird nach wie vor mit der Rücktaste nur markiert (ist das nun einfach so??). Aber nach der Löschtaste klappt's jetzt, es kommt kein Fehler mehr und das Makro macht exakt, was es soll. Und damit bin ich ja shcon überglücklich.

Auf jeden Fall ganz vielen Dank für Deine Hilfe und Grüße
Franz

P.S.: Mal schauen, ob ic noch dahinterkomme, was das mit den ListIndex jetzt geändert hat, dass es jetzt klappt ..... :-)))
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige