10.12.2018, 14:49 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2018, 14: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
VG Sabina
bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
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