Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UF Textbox8 PLZ = Textbox9 = Ort

Forumthread: UF Textbox8 PLZ = Textbox9 = Ort

UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 19:10:59
Bernd
Hallo zusammen,
hatte hier im Forum nachfolgenden Code gefunden und wollte ihn auf meine Bedürfnisse anpassen, bekomme das aber nicht gebacken, wo liegt mein Fehler?
Private Sub TextBox8_AfterUpdate()
   Dim varRes As Variant

   If IsNumeric(TextBox8) Then
      With Sheets("Postleitzahlen")
         varRes = Application.Match(CDbl(TextBox8.Text), .Range("A2:A20000"), 0)
         If IsNumeric(varRes) Then
            TextBox9 = Application.Index(.Range("B2:B20000"), varRes)
         Else
            TextBox9 = "PLZ '" & TextBox8 & "' nicht gefunden"
         End If
      End With
   Else
      TextBox9 = "Falsche Eingabe"
   End If
End Sub
UF Kundenliste, TextBox 8 = Eingabe PLZ, Textbox9 = Einlesen aus Tabelle Postleitzahlen den Ort in Spalte 2. PLZ = Spalte 1
Gruß
Bernd

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 19:13:51
Hajo_Zi
Hallo Bernd,
ich hätte für
TextBox9 = Application.Index(.Range("B2:B20000"), varRes)
geschrieben
TextBox9 = .Range("B"&Application.Match(CDbl(TextBox8.Text), .Range("A2:A20000"), 0)

Anzeige
AW: UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 19:28:14
Bernd
Hallo Hajo,
danke für deine schnelle Hilfe.
Es geht nicht in TextBox 9 kommt immer " "PLZ '" & TextBox8 & "' nicht gefunden"
Wo liegt mein Fehler?
Gruß
Bernd

AW: UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 19:30:12
Hajo_Zi
Hallo Bernd,
keine Ahnung.
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei wäre nicht schlecht.
Gruß Hajo

Anzeige
AW: UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 21:06:39
Hajo_Zi
Hallo Bernd,
man muss nicht aschreuiben was man mit der Datei machen muss um Deinen Fehler auszulesen. Du hast wohl Recht das alle die Datei kennen und wissen was sie machen sollen. Ich gehöre nicht dazu und bin dann raus.
Gruß Hajo

Anzeige
AW: UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 20:14:53
Stefan
Hallo Bernd,
das dürfte an dieser Zeile
varRes = Application.Match(CDbl(TextBox8.Text), .Range("A2:A20000"), 0)
legen. Hier muss die PLZ genau gefunden werden. Das heißt, wenn Du 20430 als PLZ eingibst, und diese PLZ nicht in der Tabelle vorhanden, aber dafür 20431, gibt es keinen Treffer, da Du als Vergleichstyp die 0 (bzw. Falsch) vorgegeben hast. Versuchs mal so:
Option Explicit
Private Sub TextBox8_AfterUpdate()
Dim varRes As Variant
If IsNumeric(TextBox8) Then
With Sheets("Postleitzahlen")
varRes = Application.Match(CDbl(TextBox8.Text), .Range("A2:A20000"), 0)
If Not IsError(varRes) Then
TextBox9 = Application.Index(.Range("B2:B20000"), varRes)
Else
MsgBox varRes
TextBox9 = "PLZ '" & TextBox8 & "' nicht gefunden"
End If
End With
Else
TextBox9 = "Falsche Eingabe"
End If
End Sub
Gruß Stefan

Anzeige
AW: UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 20:23:50
Bernd
Hallo Stefan,
danke für deine Hilfe. Es kommt leider 'ne Fehlermeldung "Typen unverträglich"
Gruß
Bernd

AW: UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 22:21:30
Stefan
Hallo Bernd,
das liegt an den unterschiedlichen Formatierungen in deiner Tabelle und der Userform. 28195 ist eben nicht '28195! Formatiere Deine Tabelle entsprechend. Zellformat ist 00000 Siehe auch hier: http://www.online-excel.de/excel/singsel.php?f=71#s2 Um das Apostroph möglichst schnell wegzubekommen, schreibe in einer leeren Zelle den Wert 1 kopiere ihn und über Inhalte einfügen - Vorgang multiplizieren geht das Entfernen sehr schnell.
Und ändere den Code so um (ich habe hier Clng statt CDbl genommen, weil es ungerade PLZ nicht gibt ;-) )
Private Sub TextBox8_AfterUpdate()
Dim varRes As Variant
If IsNumeric(TextBox8) Then
With Sheets("Postleitzahlen")
varRes = Application.Match(CLng(TextBox8.Text), .Range("A2:A20000"), 0)
If Not IsError(varRes) Then
TextBox9 = .Range("B" & Application.Match(CLng(TextBox8.Text), .Range("A2:A20000"),  _
0) + 1)
Else
TextBox9 = "PLZ '" & TextBox8 & "' nicht gefunden"
End If
End With
Else
TextBox9 = "Falsche Eingabe"
End If
End Sub

Gruß Stefan

Anzeige
AW: UF Textbox8 PLZ = Textbox9 = Ort
09.09.2013 23:06:30
Bernd
Hallo Stefan,
1000Dank du bist 'ne Wucht in Tüten!!!
Funktioniert bestens.
Gruß
Bernd
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige