10.12.2018, 15:49 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2018, 15:51 von Flotter Feger.)
Hallo,
ich schreibe das zu suchende einfach in eine Zelle ... bei mir ist es F1 ... Dann eventuell so ...
Code:
Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range Dim firstAddress As String Dim Anzahl As Integer
With Worksheets("Rechnungsbuch") .Range("D:D").Interior.Color = xlNone Anzahl = Application.WorksheetFunction.CountIf(.Range("D:D"), .Range("F1"))
Set c = .Range("D:D").Find(.Range("F1"), LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do If Anzahl = 1 Then c.Select Else c.Interior.Color = 255 End If Set c = .Range("D:D").FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With End Sub
Folgende(r) 1 Nutzer sagt Danke an Flotter Feger für diesen Beitrag:1 Nutzer sagt Danke an Flotter Feger für diesen Beitrag 28 • Thomas78
vielen Dank für deine schnelle Rückmeldung. Interessanter Ansatz, wobei mir das einfärben nicht so gut gefällt als Lösung. Wie müsste ich es denn umschreiben dass er mir zu der gefundenen Rechnungsnummer springt?
man kann wie Uwe vorgeschagen hat konventionelle über Excel Suchfunktion suchen. Oder das sehr schöne Makro von Flotter Feger nutzen, indem man den Suchwert in eine Zelle gibt und das Makro startet. Kleine Anederung für dieses Makro: da wo Else steht kann man eine Msgbox mit If Then einfügen, und den Suchlauf über Nein stoppen.
Else If MsgBox("Weitersuchen??", vbYesNo) = vbNo Then Exit Sub end if
mfg Gast 123
Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28 • Thomas78