Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vergleich zweier Zeilen

Vergleich zweier Zeilen
05.12.2017 13:11:30
Leon
Hallo Zusammen,
ich würde gerne zwei Zeilen in unterschiedlichen Tabellenblättern miteinander abgleichen. Sind alle Zellwerte gleich, soll eine MsgBox "OK" ausgeben, ansonsten eine Fehlermeldung.
Anbei mein kommentierter Code, ich freue mich aber auch über komplett andere Lösungsansätze.
Userbild
Lg Leon
Sub check_values()
Dim Check1 As String 'dienen als Platzhalter für die MsgBox
Dim Check2 As String
Dim i As Integer
' diese For Schleife findet falsche Werte nicht. Werte in Tabelle1!A1:AB1 und Stammdaten!A24: _
AB24
For i = 1 To 50 Step 1
If Sheets("Tabelle1").Cells(1, i).Value = Sheets("Stammdaten").Cells(24, i).Value Then  _
Check1 = "Werte ""Tabelle1"" ok"
Next i
i = 0
'In dieser For Schleife  wird die Schleife beim ersten "Wahr" ereignis beendet.
'Werte in Tabelle2!A1:AB1 und Stammdaten!A26:AB26
For i = 1 To 50 Step 1
If Sheets("Tabelle2").Cells(1, i).Value = Sheets("Stammdaten").Cells(26, i).Value Then
Check2 = "Werte ""Tabelle2"" ok"
Else: Check2 = "Werte ""Tabelle2"" falsch"
End If
Next i
i = 0
MsgBox Check1 & VbCr & Check2 , vbOKOnly, "Datencheck"
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich zweier Zeilen
05.12.2017 14:16:27
JoWE
Hallo Leon,
vllt. so?
Sub check_values()
Dim r1 As Range, r2 As Range
Dim c1 As Range, c2 As Range
Dim vCheck As Boolean
vCheck = True
Set r1 = Sheets("Tabelle1").Range("A1:AB1")
Set r2 = Sheets("Tabelle1").Range("A24:AB24")
For Each c1 In r1
For Each c2 In r2
If c2.Value  c1.Value Then
c2.Interior.ColorIndex = 3
vCheck = False
End If
Next
Next
If vCheck = True Then
MsgBox "Werte Tabelle 2 OK!"
Else
MsgBox "Werte Tabelle2 falsch!"
End If
End Sub
abweichende Werte werden in Tabelle 2 rot hinterlegt
Gruß
Jochen
AW: Vergleich zweier Zeilen
05.12.2017 15:07:46
Leon
Danke, das sieht schon mal besser aus!
Allerdings bleibt c1.Value immer in Zelle A1 stehen und springt nicht in B1 etc.
Weißt du wie das zu lösen ist?
Lg Leon
Anzeige
AW: Vergleich zweier Zeilen
05.12.2017 15:50:16
Leon
Habe den Code noch mal genau im Einzelschrittmodus angeschaut. So werden alle Zellen miteinander verglichen.
Allerdings will ich Tabelle1!A1 mit Tabelle2!A24, Tabelle1!B1 mit Tabelle2!B24 usw. vergleichen. Also jede Zelle mit der aus der selben Spaltennummer nur in einer anderen Tabelle.
Sorry wenn ich mich da ein bisschen unklar ausgedrückt habe!
AW: Vergleich zweier Zeilen
05.12.2017 19:39:12
JoWE
Hallo Leon,
nun, dann vllt. so:
Sub check_values()
Dim ze As Long
Dim sp As Long
Dim vCheck As Boolean
vCheck = True
For ze = 24 To 47
For sp = 1 To 38
If Sheets("Tabelle2").Cells(ze, sp) = Sheets("Tabelle1").Cells(ze - 23, sp) Then
Sheets("Tabelle2").Cells(ze, sp).Interior.ColorIndex = 43
Sheets("Tabelle1").Cells(ze - 23, sp).Interior.ColorIndex = 43
Else
Sheets("Tabelle1").Cells(ze - 23, sp).Interior.ColorIndex = 19
Sheets("Tabelle2").Cells(ze, sp).Interior.ColorIndex = 19
vCheck = False
End If
Next
Next
If vCheck = False Then
MsgBox "Mindestens 1 Wert in Tabelle 2 ist nicht identisch!"
Else
MsgBox "Alle Werte in Tabelle 2 sind identisch mit den Werten in Tabelle 1"
End If
End Sub
Gruß
Jochen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige