habe zwei sheets in Excel 2007 (Englische Version)wo in beiden sheets in Spalte A Bestellnummern stehen.Möchte jetzt beide sheets vergleichen so das er mir in sheet1 alle Bestellnummer farblich anzeigt die in sheet2 auch vorhanden sind.
Das würde ich mit einem Makro lösen, z. B. so:
Sub CompSheets()
Dim z1 As Long, z2 As Long, BestNr As Long, gefunden As Long
Const s1 = "sheet1" ' Name des 1. Worksheets
Const s2 = "sheet2" ' Name des 2. Worksheets
z1 = 1
Worksheets(s1).Select
' Alle Zeilen des 1. Worksheets verarbeiten bis eine leere Zelle in Spalte A kommt
Do Until Cells(z1, 1) = ""
BestNr = Cells(z1, 1)
Worksheets(s2).Select
z2 = 1
gefunden = 0
' Wert aus Spalte A im 1. Worksheet in Spalte A des 2. Worksheets suchen
Do Until Cells(z2, 1) = ""
If Cells(z2, 1) = BestNr Then
gefunden = z2
Exit Do
Else
z2 = z2 + 1
End If
Loop
Worksheets(s1).Select
If gefunden \> 0 Then
Cells(z1, 1).Font.Color = vbGreen
End If
z1 = z1 + 1
Loop
End Sub
Erklärungen:
- In den Konstanten s1 und s2 müssen die tatsächlichen Namen der beiden Worksheets eingetragen sein.
- Das Programm endet, sobald im 1. Worksheet in Spalte A eine leere Zelle gefunden wird.
- Die Suche im 2. Worksheet hört ebenfalls auf, wenn dort in Spalte A eine leere Zelle gefunden wird.
- Die im 2. Worksheet gefundenen Werte werden im 1. Worksheet grün.
- Falls die Suche lange dauert, weil sehr viele Werte in den Worksheets sind, kann sie beschleunigt werden, wenn das 2. Worksheet sortiert wird. Das wird aber derzeit vom Programm noch nicht berücksichtigt.