Anzeige
Archiv - Navigation
1328to1332
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
Inhaltsverzeichnis

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

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)

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

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige