Find Methode was ist zu beachten?
01.04.2018 02:55:31
Mr.T
ich habe eine Frage was die find Methode betrifft.
Und zwar habe ich eine Userform mit mehreren Comboboxen und Textboxen.
Die Einträge der Comboboxen werden aus einem separaten Tabellenblatt geholt und dann bei Auswahl direkt in die Textbox geschrieben.
Nun möchte ich es so machen, dass wenn ich die erste Textbox mit einem Auswahltext fülle, dass Excel in dem Moment in dem Quellenblatt nach den Texten sucht die in der gleiche Zeile wie der ausgewählte Text stehen, eben in entsprechenden Spalten. Werden die Werte gefunden, sollen sie direkt in die folgenden Textboxen transportiert werden.
Kurz gesagt soll entsprechend der Vorauswahl für die erste Textbox die restlichen Textboxen mit den entsprechenden zugehörigen Texten gefüllt werden.
Mein Codebeispiel habe ich mal unten dazugeschrieben.
Vielleicht noch ein Hinweis: Die Texte sind teilweise länge, haben Leerzeilen und Teilweise am Anfang geschwungene Klammern z.B. so - {Abschn. Transport}Während des Transportes...
Ich habe schon versucht das Ganze mit einem ' am Anfang zu beheben oder an der Zellenformatierung in der zu überprüfenden Zelle, leider kein Erfolg.
Ein weiter Test hat gezeigt, dass wenn ich mal im Quellblatt die Texte durch kurze Wörter wie Hallo, Ja oder Nein ersetze funktioniert alles.
Hat jemand einen Rat?
Private Sub ComboBox1_Change()
TextBox2.Value = ComboBox1.Text
End Sub
Private Sub TextBox2_Change()
Dim WkSh As Worksheet
Dim rZelle As Range
Set WkSh = ThisWorkbook.Worksheets("Datenpool")
If TextBox2.Value "" Then
With WkSh.Columns(2)
Set rZelle = .Find(TextBox2.Value, LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
TextBox3.Value = WkSh.Cells(rZelle.Row, 3).Value
TextBox40.Value = WkSh.Cells(rZelle.Row, 9).Value
TextBox41.Value = WkSh.Cells(rZelle.Row, 10).Value
TextBox42.Value = WkSh.Cells(rZelle.Row, 11).Value
End If
End With
End If
End Sub
Vielen Dank euch im Voraus!