Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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
VBA Wörter Suchen und in Textbox ausgeben
23.05.2018 14:08:58
Tim
Hallo zusammen,
ich habe ein Code gefunden mit dem ich in eine Spalte nach einem Wort suchen kann (über Schaltfläche und TextBoxen in UserForm). Wenn das Wort gefunden wird, zeigt es mir in den anderen TextBoxen die Wörter in den Zielspalten in der selben Zeile an.
Nun zu meiner Frage: Wenn ich in Spalte BU nach z.B: dem Wort "hallo" suche, zeigen mir die TextBoxen wie gewünscht die darauffolgenden Wörter in der Zeile an. Nach dem Wort "hallo" kommen 2 leere Spalten bis das nächste Wort kommt.
Ist es möglich auch die Wörter der darauffolgenden Zeilen bis zum nächsten Wort in den TextBoxen anzeigen zu lasse ?
z.B:
_____A________B_________C_________D_______E
1_"hallo"_____aa________ab________ac______ad
2_____________as________af________df______gh
3_____________rg________gh________sd______sd
4 "bye"
Also das in den TextBoxen nicht nur aa;ab;ac;ad angezeigt wird sondern direkt unter aa: auch as und rg, unter ab: af und gh usw.
Hier noch der Code:

Private Sub CommandButton1_Click()
Dim WkSh    As Worksheet
Dim rZelle  As Range
Set WkSh = ThisWorkbook.Worksheets("Unimog-Achs-Übersicht")
If TextBox1.value  "" Then
With WkSh.Columns(73)
Set rZelle = .Find(TextBox1.value, LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
TextBox2.value = WkSh.Cells(rZelle.Row, 76).value
TextBox4.value = WkSh.Cells(rZelle.Row, 75).value
TextBox5.value = WkSh.Cells(rZelle.Row, 78).value
TextBox3.value = WkSh.Cells(rZelle.Row, 79).value
TextBox6.value = WkSh.Cells(rZelle.Row, 77).value
TextBox7.value = WkSh.Cells(rZelle.Row, 74).value
Else
MsgBox "Der gesuchte Begriff  """ & TextBox1.value & _
"""  wurde nicht gefunden.", _
48, "   Hinweis für " & Application.UserName
TextBox1.SetFocus
End If
End With
Else
MsgBox "Sie müssen einen Suchbegriff eingeben - danke." & _
48, "   Hinweis für " & Application.UserName
TextBox1.SetFocus
End If
End Sub

Vielen Dank im Voraus,
Gruß Tim

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Wörter Suchen und in Textbox ausgeben
23.05.2018 14:21:49
ChrisL
Hi Tim
Wenn die Spalten eigentlich Zeilen sind z.B.
TextBox2.Value = WkSh.Cells(rZelle.Row, 76).Value
TextBoxX.Value = WkSh.Cells(rZelle.Row + 2, 76).Value
cu
Chris
AW: VBA Wörter Suchen und in Textbox ausgeben
23.05.2018 14:35:10
Tim
Hi Chris danke für die schnelle Antwort,
ich versuch nochmal es besser zu erklären:
A1=hallo, B1=aa; C1=ab; D1=ac
A2=*leer*, B2=as; C2=af; D2=df
A3=bye,
Mit meinem Code suche ich nach z.B: hallo.
Dann wird in einer TextBox aa ausgegeben, in der nächsten ab und in noch einer ac.
Ich möchte aber das in der ersten TextBox unter aa auch noch as steht, unter ab auch noch af und unter ac noch df.
Falls noch mehr Leerzeilen vorhanden sind, diese dann auch in der TextBox immer weiter auflisten bis das nächste Wort kommt, in diesem fall schon nach einer Leerspalte bye.
Gruß Tim
Anzeige
AW: VBA Wörter Suchen und in Textbox ausgeben
23.05.2018 14:38:47
Tim
Hi Chris danke für die schnelle Antwort,
ich versuch nochmal es besser zu erklären:
A1=hallo, B1=aa; C1=ab; D1=ac
A2=*leer*, B2=as; C2=af; D2=df
A3=bye,
Mit meinem Code suche ich nach z.B: hallo.
Dann wird in einer TextBox aa ausgegeben, in der nächsten ab und in noch einer ac.
Ich möchte aber das in der ersten TextBox unter aa auch noch as steht, unter ab auch noch af und unter ac noch df.
Falls noch mehr Leerzeilen vorhanden sind, diese dann auch in der TextBox immer weiter auflisten bis das nächste Wort kommt, in diesem fall schon nach einer Leerspalte bye.
Gruß Tim
Anzeige
AW: VBA Wörter Suchen und in Textbox ausgeben
23.05.2018 16:41:52
ChrisL
Hi Tim
Hiermit verabschiede ich mich von diesem Beitrag.
https://www.herber.de/bbs/user/121782.xlsm
Private Sub CommandButton1_Click()
Dim iCounter As Integer, iZeile As Integer, iSpalte As Integer
Dim WkSh    As Worksheet
Dim rZelle  As Range
Set WkSh = ThisWorkbook.Worksheets("Unimog-Achs-Übersicht")
If txtSuche.Value  "" Then
With WkSh
Set rZelle = .Columns(1).Find(txtSuche.Value, LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
For iCounter = 1 To 12
Controls("TextBox" & iCounter) = ""
Next iCounter
iCounter = rZelle.Row * 4
Do
iZeile = WorksheetFunction.RoundDown(iCounter / 4, 0) - 1
iSpalte = iCounter Mod 4
If .Cells(iZeile + 1, iSpalte + 2) = "" Or (.Cells(iZeile + 1, 1)  "" _
And .Cells(iZeile + 1, 1)  txtSuche) Then Exit Sub
Controls("TextBox" & iCounter - (rZelle.Row * 4) + 1) = .Cells(iZeile + 1, iSpalte + 2)
iCounter = iCounter + 1
Loop
Else
MsgBox "Der gesuchte Begriff  """ & txtSuche.Value & _
"""  wurde nicht gefunden.", _
48, "   Hinweis für " & Application.UserName
txtSuche.SetFocus
End If
End With
Else
MsgBox "Sie müssen einen Suchbegriff eingeben - danke.", 48, _
"   Hinweis für " & Application.UserName
txtSuche.SetFocus
End If
End Sub
cu
Chris
Anzeige

356 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige