Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1704to1708
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
mehrer Einträge in Textbox
16.08.2019 11:02:01
Benni
Hallöle. Ich hoffe ihr könnt mir weiterhelfen. Ich möchte über eine Freitextsuche in einer Userform eine Tabelle durchsuchen. Die passenden Einträge werden rot markiert und werden dann in einer neuen Userform in einer Textbox angezeigt. So weit so gut. Nur wird mir nur der erste Rote wert angezeigt. Wo habe ich hier meinen Fehler? Könnt ihr mir weiterhelfen?
Code für Userform 1:
Private Sub Störung_suchen_Click()
Dim rngSuchErgebnisGesamt As Range
Dim rngSuchErgebnisEinzel As Range
Dim Suchtext As String
Dim sh As Worksheet
Suchtext = TextBox3
Set sh = ActiveSheet
Set rngSuchErgebnisEinzel = sh.Cells.Find(what:=Suchtext, lookat:=xlPart, LookIn:=xlValues)
If rngSuchErgebnisEinzel Is Nothing Then
MsgBox "Der Suchbegriff konnte nicht gefunden werden"
Else
Set rngSuchErgebnisGesamt = rngSuchErgebnisEinzel
Do
Set rngSuchErgebnisEinzel = sh.Cells.FindNext(after:=rngSuchErgebnisEinzel)
If Intersect(rngSuchErgebnisEinzel, rngSuchErgebnisGesamt) Is Nothing Then
Set rngSuchErgebnisGesamt = Union(rngSuchErgebnisEinzel, rngSuchErgebnisGesamt)
Else
Exit Do
End If
Loop
rngSuchErgebnisGesamt.Interior.ColorIndex = 3
Range("A2").Select
ActiveCell.FormulaR1C1 = "=Versuch_3"
Range("A3").Select
End If
Z = Sheets(1).UsedRange.Rows.Count
For i = 1 To Z
If Cells(i, 1) = 3 Then
temp = 1
Exit For
End If
Next
If temp = 1 Then
Unload Me
zeile = i
UserForm2.Show
Else
MsgBox " Fehler oder Störung nicht vorhanden ", vbExclamation
TextBox3 = ""
End If
End Sub
bei der zweiten Userform sieht er dann so aus:
Private Sub UserForm_Initialize()
TextBox1 = Cells(zeile, 2)
TextBox2 = Cells(zeile, 3)
TextBox3 = Cells(zeile, 4)
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrer Einträge in Textbox
16.08.2019 11:04:37
Hajo_Zi
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: mehrer Einträge in Textbox
16.08.2019 12:00:27
Hajo_Zi
ich kann Dir Leider nicht Helfen. Ich verbringe keine Zeit damit herraussunfinden welcher Suchbegriff eingegeben werden muss.
Viel erfolg noch.
Gruß Hajo
Vorsicht mit Dowload
16.08.2019 12:30:02
Hajo_Zi
Bitte keine anderen Dateien auf haben.
Gruß Hajo
AW: mehrer Einträge in Textbox
16.08.2019 14:09:49
Nepumuk
Hallo Benni,
du übergibst der TextBox ja nur eine Zelle {TextBox1 = Cells(zeile, 2)}. Warum übergibst du nicht die Fundstellen deiner Suche?
Gruß
Nepumuk
Anzeige
AW: mehrer Einträge in Textbox
16.08.2019 17:24:44
Benni
Dankeschön für eure Hilfe. Nepumuk was würdest du dann vergeben? Die komplette Spalte?
AW: mehrer Einträge in Textbox
16.08.2019 18:16:20
Nepumuk
Hallo Benni,
in deinem Modul1.
Public gobjRange As Range

im UserForm:
Private Sub Störung_suchen_Click()
    
    Dim rngSuchErgebnisGesamt As Range
    Dim rngSuchErgebnisEinzel As Range
    
    Set rngSuchErgebnisEinzel = Cells.Find(what:=TextBox3.Text, _
        LookAt:=xlPart, LookIn:=xlValues, MatchCase:=False)
    
    If rngSuchErgebnisEinzel Is Nothing Then
        MsgBox "Der Suchbegriff konnte nicht gefunden werden", vbExclamation, "Hinweis"
    Else
        Set rngSuchErgebnisGesamt = rngSuchErgebnisEinzel
        Do
            Set rngSuchErgebnisEinzel = Cells.FindNext(After:=rngSuchErgebnisEinzel)
            If Intersect(rngSuchErgebnisEinzel, rngSuchErgebnisGesamt) Is Nothing Then
                Set rngSuchErgebnisGesamt = Union(rngSuchErgebnisEinzel, rngSuchErgebnisGesamt)
            Else
                Exit Do
            End If
        Loop
    End If
    
    Set gobjRange = Intersect(Columns(2), rngSuchErgebnisGesamt)
    
    Set rngSuchErgebnisGesamt = Nothing
    Set rngSuchErgebnisEinzel = Nothing
    
    If Not gobjRange Is Nothing Then
        Unload Me
        UserForm2.Show
    Else
        MsgBox "Fehler oder Störung nicht vorhanden", vbExclamation, "Hinweis"
        TextBox3.Text = ""
    End If
End Sub

im UserForm2:
Private Sub UserForm_Initialize()
    Dim objCell As Range
    For Each objCell In gobjRange
        With objCell
            TextBox1.Text = TextBox1.Text & .Text & vbLf
            TextBox2.Text = TextBox2.Text & Cells(.Row, 3).Text & vbLf
            TextBox3.Text = TextBox3.Text & Cells(.Row, 4).Text & vbLf
        End With
    Next
    Set gobjRange = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: mehrer Einträge in Textbox
19.08.2019 06:45:55
Benni
Hi Nepumuk, du bist ja der Hammer. Genau so wollte ich das. Dankeschön. Leider funktioniert jetzt meine Dropdown suche nicht mehr. Hintergrund ist der, dass man entweder über die Freitextsuche ( die jetzt hervorragend funktioniert) oder über die Dropdownliste die Fehler auswählt. In dem Fall muss der Initialize Befehl anders heißen?! Würdest du mich nochmals unterstützen?
AW: mehrer Einträge in Textbox
19.08.2019 10:26:32
Nepumuk
Hallo Benni,
gibt es da auch mehrere Ergebnisse ober immer nur eines?
Gruß
Nepumuk
AW: mehrer Einträge in Textbox
19.08.2019 10:46:34
Benni
Hi Nepumuk,
bei der Dropdownliste gibt es nur ein Ergebnis.Dankeschön
AW: mehrer Einträge in Textbox
19.08.2019 11:04:55
Nepumuk
Hallo Benni,
du musst nur im UserForm den Code so ändern:
Private Sub Störmeldung_suchen_Click()
    If Textbox2.Text = vbNullString Then
        Call MsgBox("Keine Meldung ausgewählt.", vbExclamation, "Hinweis")
    Else
        Set gobjRange = ActiveSheet.Columns(2).Find(What:=Textbox2.Text, _
            LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
        Call UserForm2.Show
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: mehrer Einträge in Textbox
19.08.2019 11:08:30
Nepumuk
Oooooooops,
da fehlt noch die Zeile zum entladen des UserForms:
Private Sub Störmeldung_suchen_Click()
    If Textbox2.Text = vbNullString Then
        Call MsgBox("Keine Meldung ausgewählt.", vbExclamation, "Hinweis")
    Else
        Set gobjRange = ActiveSheet.Columns(2).Find(What:=Textbox2.Text, _
            LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
        Call Unload(Object:=Me)
        Call UserForm2.Show
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: mehrer Einträge in Textbox
19.08.2019 11:38:45
Benni
Das habe ich schon bemerkt und eingefügt. Aber danke für die Info. :-)
AW: mehrer Einträge in Textbox
19.08.2019 11:13:52
Benni
Perfekt. Danke Nepumuk für deine Geduld.
AW: mehrer Einträge in Textbox
16.08.2019 11:57:08
Pierre
Hallo Benni,
ich habe in einer Datei eine Dropdownliste, aus welcher ich mehrere Einträge auswählen kann und die mir nacheinander in eine Zelle geschrieben werden.
Gelöst ist das nach folgendem Schema, vielleicht kannst du damit auch was anfangen?
If Not Application.Intersect(Target, rngDV) Is Nothing Then
Application.EnableEvents = False
wertnew = Target.Value
Application.Undo
wertold = Target.Value
Target.Value = wertnew
If wertold  "" Then
If wertnew  "" Then
If Right(wertold, Len(wertnew)) = wertnew Then
MsgBox "nicht möglich", vbCritical
Application.EnableEvents = True
Target.Value = wertold
Exit Sub
End If
If wertold  wertnew Then Target.Value = wertold & "; " & wertnew

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige