Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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
Inhaltsverzeichnis

Weitersuchen

Weitersuchen
23.08.2021 13:15:25
Samy
Hallo,
folgender Code benutze ich um in der Zeile 15 den Begriff "BK" zu finden um dann in der Spalte auf der höhe der eingegebenen Zeile den Begriff "gefunden" einzufügen.
Funktioniert soweit, aber nur beim 1. gefundenen "BK". Leider schaffe ich es nicht weitere "BK" zu suchen.
Wäre froh um Hilfe.
Vielen Dank LG Samy

If Not Application.Intersect(Target, Range("A20:A500")) Is Nothing Then
For Each rC In Intersect(Target, Range("A20:A500")).Cells
With ThisWorkbook.Sheets("Tabelle1")
Set Treffer = .Rows(15).Find(what:="BK", LookIn:=xlValues, lookat:=xlWhole)
If Treffer Is Nothing Then GoTo ZU_Next
rC.Offset(0, (Treffer.Column) - 1) = "gefunden"
Set Treffer = Nothing
End With
Next rC
End If

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Weitersuchen
23.08.2021 13:19:43
Oberschlumpf
Hi Samy,
mit Set Treffer = Nothing setzt du den Suchtext in Treffer auf NULL; aber an der Stelle willst du das noch gar nicht!
Verschieb die Zeile Set Treffer = Nothing unterhalb von Next rC.
Hilfts?
Ciao
Thorsten
AW: Weitersuchen
23.08.2021 13:23:18
Samy
Hallo Thorsten,
Danke für Deinen Hinweis, leider funktionierts auch so nicht.
Hab "Set Treffer = Nothing" auch mal komplett weg gelassen, auch dann hats nicht funktioniert.
Danke LG Samy
AW: Weitersuchen
23.08.2021 13:27:05
Oberschlumpf
Hi,
dann zeig doch mal per Upload eine Bsp-Datei mit allem, was erforderlich ist.
Ciao
Thorsten
AW: Weitersuchen
23.08.2021 13:50:00
Samy
Hallo Thorsten,
Vielen Dank für Deine Zeit, anbei das Beispiel-File: https://www.herber.de/bbs/user/147757.xlsm
In Spalte A etwas schreiben und dann sollten in allen spalten wo BK steht in der beschriebenen Zeile auch BK stehen, leider übernimmt es nur für beim ersten gefundenen.
Lg Samy
Anzeige
sorry, hab keine Lösung
23.08.2021 14:06:32
Oberschlumpf
Hi Samy,
eigtl dacht ich: "Kann ja nich so schwer sein." Aber nun steh ich irgdwie aufm Schlauch.
Sorry, finde gerade keine Lösung.
Ciao
Thorsten
AW: sorry, hab keine Lösung
23.08.2021 14:10:46
Samy
Hallo Thorsten,
Kein Problem, das habe ich zu beginn auch gedacht :-)
Trotzdem vielen Dank.
LG Samy
AW: sorry, hab keine Lösung
23.08.2021 14:37:54
peterk
Hallo

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim rC As Range, Treffer As Range, fAdr As Variant
If Not Application.Intersect(Target, Range("A2:A500")) Is Nothing Then
For Each rC In Intersect(Target, Range("A2:A500")).Cells
With ThisWorkbook.Sheets("Tabelle1").Rows(1)
Set Treffer = .Find(what:="BK", LookIn:=xlValues, lookat:=xlWhole)
fAdr = Treffer.Address
Do
rC.Offset(0, (Treffer.Column) - 1) = "BK"
Set Treffer = .FindNext(Treffer)
Loop Until Treffer.Address = fAdr
End With
Next rC
End If
End Sub
Peter

Anzeige
AW: sorry, hab keine Lösung
23.08.2021 15:52:16
Samy
Hallo,
ich bedanke mich bei alle die sich Zeit genommen haben um mein Anliegen zu kümmern.
PeterK's code hat mir geholfen.
Die VBAhilfe habe ich zur Rat gezogen, leider hatte mich das nicht weitergebracht.
Danke!
Lg Samy
AW: Weitersuchen
23.08.2021 15:08:30
Peter
Hi Samy,
hast du schon mal die VBA-Hilfe probiert?
dort suchen "find" - "Range.find-Methode"! Da steht alles was du hättest wissen müssen! Beispiel dort am Ende:

With Worksheets(1).Range("a1:a500")
Set c = .Find(2, lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With 
Damit dein Code:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Const SearchString As String = "BK"
Dim Bereich As Range, rC As Range, Treffer As Range, firstAddress As String
Set Bereich = Intersect(Target, Range("A2:A500"))
If Not Bereich Is Nothing Then
For Each rC In Bereich
With Rows(1)
Set Treffer = .Find(What:=SearchString, LookIn:=xlValues, lookat:=xlWhole)
If Not Treffer Is Nothing Then
firstAddress = Treffer.Address
Do
rC.Offset(0, (Treffer.Column) - 1) = SearchString
Set Treffer = .FindNext(Treffer)
Loop While Not Treffer Is Nothing And Treffer.Address  firstAddress
End If
End With
Next rC
End If
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige