Hallo zusammen,
ich habe folgendes Problem, bei dem ihr mir hoffentlich helfen könnt![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Ich habe eine Arbeitsmappe, die viele Tabellenblätter mit Artikeldaten enthält (pro Artikel eine Tabelle). Weiterhin eine Tabelle "PPR Report" diese enthält eine Liste mit Bestell-Nr. in Spalte A. Ich möchte prüfen, ob alle Bestell-Nr. aus derm Tabellenblatt "PPR Report" auch in den Arkikel-Tabellen vorkommen und die gefundenen Zellen jeweils farblich markieren. Schwierigkeit ist, dass eine Bestellnummer auf mehreren Artikel-Tabellen und auch mehrfach in einer Artikel Tabelle vorkommen kann.
Ich habe mir hierzu folgenden VBA Code geschrieben / aus verschieden Post zusammengebastelt :-). Problem ist, dass ich die Bestell-Nr. aktuell in jeder Artikel-Tabelle nur 1mal finde, kommt sie mehfach vor, dann werden diese Positionen nicht gefunden.
Was muss ich ändern um alle Positionen in einem Artikel-Tabellenblatt zu finden?
Vielen Dank im vorraus für eure Hilfe!
Gruß
Ralf
ich habe folgendes Problem, bei dem ihr mir hoffentlich helfen könnt
![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Ich habe eine Arbeitsmappe, die viele Tabellenblätter mit Artikeldaten enthält (pro Artikel eine Tabelle). Weiterhin eine Tabelle "PPR Report" diese enthält eine Liste mit Bestell-Nr. in Spalte A. Ich möchte prüfen, ob alle Bestell-Nr. aus derm Tabellenblatt "PPR Report" auch in den Arkikel-Tabellen vorkommen und die gefundenen Zellen jeweils farblich markieren. Schwierigkeit ist, dass eine Bestellnummer auf mehreren Artikel-Tabellen und auch mehrfach in einer Artikel Tabelle vorkommen kann.
Ich habe mir hierzu folgenden VBA Code geschrieben / aus verschieden Post zusammengebastelt :-). Problem ist, dass ich die Bestell-Nr. aktuell in jeder Artikel-Tabelle nur 1mal finde, kommt sie mehfach vor, dann werden diese Positionen nicht gefunden.
VB.NET-Quellcode
- Sub Test_PPR_finden()
- Dim wks As Worksheet, wks_PPR As Worksheet
- Dim rng As Range
- Dim sAddress As String
- Dim sFind As String, i As Integer
- Dim cr As Long, tarWks As String
- Set wks_PPR = Worksheets("PPR Report")
- wks_PPR.Select
- Ende = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
- For i = 4 To Ende
- 'Suchbegriff definieren
- sFind = Cells(i, 1)
- If sFind = "" Then Exit Sub
- For Each wks In Worksheets
- 'Tabellenblätter die von der Suche ausgenommen werden
- If wks.Name = "PPR Report" Then GoTo NextStart
- Set rng = wks.Cells.Find(What:=sFind, _
- LookAt:=xlPart, LookIn:=xlFormulas)
- If Not rng Is Nothing Then
- sAddress = rng.Address
- Do
- For Each Zelle In rng
- If Zelle.Value = sFind Then
- Zelle.Interior.ColorIndex = 7
- wks_PPR.Cells(i, 1).Interior.ColorIndex = 7
- wks_PPR.Cells(i, 54) = wks_PPR.Cells(i, 54) & wks.Name & " / "
- End If
- Next
- Set rng = wks.Cells.FindNext(after:=ActiveCell)
- If rng.Address = sAddress Then Exit Do
- Loop
- End If
- NextStart:
- Next wks
- Next i
- End Sub
Was muss ich ändern um alle Positionen in einem Artikel-Tabellenblatt zu finden?
Vielen Dank im vorraus für eure Hilfe!
Gruß
Ralf