Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wert aus Textbox suchen und in zelle Wert anzeigen

Forumthread: Wert aus Textbox suchen und in zelle Wert anzeigen

Wert aus Textbox suchen und in zelle Wert anzeigen
18.01.2018 12:06:34
Philip
Hallo
Ich habe eine Userform in dieser habe ich zwei Textboxen, den Text aus Textbox1 möchte ich in der Spalte A suchen und wenn gefunden soll der Text aus Textbox2 In Spalte M auf der selben Zeile eingetragen werden.
Gruss Philip
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert aus Textbox suchen und in zelle Wert anzeigen
18.01.2018 12:29:02
Peter(silie)
Hallo,
schau dir folgende Sachen an:
Range.Find
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/range-find-method-excel
Application.Match
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/worksheetfunction-match-method-excel
AW: Wert aus Textbox suchen und in zelle Wert anzeigen
18.01.2018 12:47:12
Werner
Hallo Philip,
so:
Private Sub CommandButton1_Click()
Dim strSuch As String, raFund As Range
strSuch = Me.TextBox1
If Len(Me.TextBox1) > 0 Then
'Blattnamen anpassen
Set raFund = Worksheets("Tabelle1").Range("A:A").Find(strSuch, LookIn:=xlValues, LookAt:= _
xlWhole)
If Not raFund Is Nothing Then
raFund.Offset(, 12) = Me.TextBox2
Else
MsgBox "Suchbegriff " & Me.TextBox1 & " in Spalte A nicht vorhanden."
End If
End If
Set raFund = Nothing
End Sub
Gruß Werner
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Wert aus Textbox suchen und in Zelle anzeigen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Erstelle eine Userform in Excel mit zwei Textboxen (TextBox1 und TextBox2) und einem CommandButton (CommandButton1).

  2. VBA-Editor öffnen: Gehe zu Entwicklertools > Visual Basic, um den VBA-Editor zu öffnen.

  3. Code hinzufügen: Füge den folgenden Code in das Code-Modul der Userform ein:

    Private Sub CommandButton1_Click()
       Dim strSuch As String, raFund As Range
       strSuch = Me.TextBox1
       If Len(Me.TextBox1) > 0 Then
           'Blattnamen anpassen
           Set raFund = Worksheets("Tabelle1").Range("A:A").Find(strSuch, LookIn:=xlValues, LookAt:= _
           xlWhole)
           If Not raFund Is Nothing Then
               raFund.Offset(, 12) = Me.TextBox2
           Else
               MsgBox "Suchbegriff " & Me.TextBox1 & " in Spalte A nicht vorhanden."
           End If
       End If
       Set raFund = Nothing
    End Sub
  4. Testen: Schließe den VBA-Editor und teste die Userform. Gib einen Wert in TextBox1 ein, der in Spalte A deiner Tabelle vorhanden ist, und einen Wert in TextBox2, der in Spalte M eingetragen werden soll.


Häufige Fehler und Lösungen

Fehler: "Suchbegriff in Spalte A nicht vorhanden."

  • Lösung: Überprüfe, ob der Suchbegriff tatsächlich in Spalte A vorhanden ist. Achte auf Groß-/Kleinschreibung und Leerzeichen.

Fehler: Userform öffnet sich nicht.

  • Lösung: Stelle sicher, dass die Userform korrekt aufgerufen wird. Überprüfe den Code, der die Userform öffnet.

Alternative Methoden

  • Verwendung von Application.Match: Anstelle von .Find kannst du auch die Application.Match-Funktion verwenden, um den Index des gesuchten Wertes zu ermitteln. Diese Methode kann in bestimmten Fällen schneller sein.

    Dim matchIndex As Variant
    matchIndex = Application.Match(strSuch, Worksheets("Tabelle1").Range("A:A"), 0)
    If Not IsError(matchIndex) Then
       Worksheets("Tabelle1").Cells(matchIndex, 13).Value = Me.TextBox2
    End If

Praktische Beispiele

Angenommen, in deiner Excel-Tabelle steht in Zelle A1 das Wort "Excel" und du gibst in TextBox1 "Excel" und in TextBox2 "Tutorial" ein. Nach dem Klick auf den Button wird in Zelle M1 "Tutorial" eingetragen.


Tipps für Profis

  • Error Handling: Füge einen Fehlerbehandlungsmechanismus hinzu, um unerwartete Fehler elegant zu handhaben. Zum Beispiel:

    On Error GoTo ErrorHandler
    ' Dein Code hier
    Exit Sub
    ErrorHandler:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
  • Datenvalidierung: Überprüfe die Eingaben in den Textboxen, um sicherzustellen, dass nur gültige Werte eingegeben werden.


FAQ: Häufige Fragen

1. Frage
Wie kann ich die Userform automatisch öffnen?
Antwort: Du kannst die Userform im Workbook_Open-Ereignis öffnen. Füge den folgenden Code in das ThisWorkbook-Modul ein:

Private Sub Workbook_Open()
    UserForm1.Show
End Sub

2. Frage
Kann ich mehrere Werte in TextBox1 suchen?
Antwort: Ja, du kannst eine Schleife verwenden, um mehrere Werte zu überprüfen. Die Find-Methode unterstützt jedoch nur einen einzelnen Suchbegriff auf einmal.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige