Clever-Excel-Forum

Normale Version: Übereinstimmung suchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich möchte nach einer Übereinstimmung zwischenTabelle1/Spalte C und dem Inhalt einer TextBox suchen. Das Problem ist, dass die Übereinstimmung nur gefunden wird wenn der Inhalt in der TextBox in einer Zeile steht. Sobald der Text in der TextBox mehrzeilig ist, wird keine Übereinstimmung gefunden, obwohl eine Übereinstimmung vorliegt.

 For i = 1 To Tabelle1.Cells(Tabelle1.Rows.Count, 1).End(xlUp).Row
       If Tabelle1.Cells(i, 3).Value = UF_Edit.TextBox1.Text Then
            MsgBox "Es wurde eine Übereinstimmung gefunden"
            Exit For
       End If
Next i
Hallo,

ersetze doch mit Replace den Zeilenumbruch durch z.B. ein Leerzeichen.

BTW: Die Schleife ist nicht notwendig - wesentlich performanter ist die Search-Funktion (Cells.Find).
Hi,

ungetestet:


Code:
If Tabelle1.Cells(i, 3).Value = Application.WorksheetFunction.Clean(UF_Edit.TextBox1.Text)
Hallo,

versuch mal so:
 
Code:
If Tabelle1.Cells(i, 3).Value =Replace( UF_Edit.TextBox1.Text,  Chr(10), "")  Then
Danke für die Antworten.


Die Quelle für den Text der TextBox steht in Spalte A. Wenn ich nun die Werte in Spalte A einzeilig schreibe, funktioniert die Suche.
Dann habe ich aber das Problem, dass die die Zeilenumbrüche nicht an den gewünschten Stellen in der TextBox sind. Die Zeilenumbrüche lasse ich automatisch über  Me.TextBox1.Multiline = True erzeugen.
Zitat:Die Quelle für den Text der TextBox steht in Spalte A.
Was denn jetzt? Eine Text-Box ist normalerweise für die Eingabe von Text und nicht für die Ausgabe. Wenn du aber dem User die Möglichkeit den Inhalt der Zelle über die Textbox zu ändern geben willst, dann weißt du doch zur Laufzeit, aus welcher Zelle der Text stammt. Warum suchst du dann danach?
Ich verstehe nicht mehr so ganz, was du eigentlich genau vorhast.
Die UserForm besteht aus zwei TextBoxen und einem CommandButton. In der ersten TextBox steht der aktuelle Wert. In der zweiten soll der Anwender den neuen Wert eingeben. Nach drücken des CommandButton soll in Tabelle1 nach dem Inhalt der TextBox1 gesucht werden und dieser soll durch den Inhalt von TextBox 2 ersetzt werden.
Verstanden - ich würde trotzdem nicht zwei Textboxen nehmen, sondern die erste durch z.B. eine Listbox ersetzen.

Wie kommt denn dein Wert in die erste Textbox - da musst du ja irgendwie wissen, aus welcher Zelle du das ganze auslesen möchtest. Somit brauchst du nicht mehr nach der Zelle zu suchen, sondern weißt in welche Zelle du den neuen Wert schreiben musst.