Hallo zusammen,
ich habe folgendes Problem, bei dem ihr mir hoffentlich helfen könnt
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
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