Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1540to1544
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 Spalten

Vergleich zweier Spalten
22.02.2017 13:47:30
Christian
Hallo Leute,
ich muss für die Arbeit 2 Spalten (auf 2 verschiedenen Sheets) in Excel vergleichen (also jeden Zelleninhalt der einen Spalte mit jedem Zelleninhalt der anderen Spalte) und wenn dieser Inhalt identisch ist, die Zeile farbig markieren.
Zudem sind manche Zellen leer. Diese sollen dann logischerweise nicht farbig markiert werden, wenn 2 leere Zellen beim Vergleichen "aufeinander treffen".
Ich habe bereits einen (notdürftigen) Code geschrieben, der aber wahrscheinlich bei der großen Anzahl der Daten nicht funktioniert.
Hat daher jemand eine bessere Idee für einen Code, der funktioniert?
Zudem habe ich als Inhalt in mehreren Zeilen den Wert Fehler 2042 entdeckt und daher die Frage, wie ich dieses Problem lösen/umgehen kann, da das Programm mir beim Debuggen eben eine Fehlermeldung ("Laufzeitfehler 13: Typen unverträglich" bringt) und in der Zeile stoppt, in der dieser Fehler steht. (mit dem aktuellen Code läuft das Programm aber nicht mal bis zu dieser Zelle, das habe ich nur bei einem früheren Code entdeckt, da ich hier einen Fehler eingebaut hatte.)
Also im Großen und Ganzen benötige ich in erster Linie einen Code, der mir die Spalten vergleicht und Zellen mit gleichem Inhalt farbig markiert.
Hoffentlich habe ich mich verständlich ausgedrückt, ansonsten gerne fragen.
Hier mein bisheriger Code:
Sub Spaltenvergleichen()
Dim zeile1 As Long
Dim zeile2 As Long
Dim spalte1 As Long
Dim spalte2 As Long
zeile1 = 2
zeile2 = 7
spalte1 = 4
spalte2 = 8
Text2 = MsgBox("Test", vbInformation, "Test")
'Tabelle1 durchlaufen und mit Tabelle2 vergleichen
Do While Sheets("NES").Cells(zeile1, spalte1).Value  "STOPMARKE"
Do While Sheets("AM").Cells(zeile2, spalte2).Value  "STOPMARKE"
'Leerzellen in Spalte NES abfangen
If Sheets("NES").Cells(zeile1, spalte1).Value = "" Then
zeile1 = zeile1 + 1
Else
If Sheets("NES").Cells(zeile1, spalte1).Value = Sheets("AM").Cells(zeile2,  _
spalte2).Value Then
'Einfärben von Zeilen in Tabelle1
Sheets("NES").Cells(zeile1, 1).Interior.Color = vbRed
Sheets("NES").Cells(zeile1, 2).Interior.Color = vbRed
Sheets("NES").Cells(zeile1, 3).Interior.Color = vbRed
Sheets("NES").Cells(zeile1, 4).Interior.Color = vbRed
Sheets("NES").Cells(zeile1, 5).Interior.Color = vbRed
Sheets("NES").Cells(zeile1, 6).Interior.Color = vbRed
Sheets("NES").Cells(zeile1, 7).Interior.Color = vbRed
Sheets("NES").Cells(zeile1, 8).Interior.Color = vbRed
'Einfärben von Zeilen in Tabelle2
Sheets("AM").Cells(zeile2, 2).Interior.Color = vbRed
Sheets("AM").Cells(zeile2, 3).Interior.Color = vbRed
Sheets("AM").Cells(zeile2, 4).Interior.Color = vbRed
Sheets("AM").Cells(zeile2, 5).Interior.Color = vbRed
Sheets("AM").Cells(zeile2, 6).Interior.Color = vbRed
Sheets("AM").Cells(zeile2, 7).Interior.Color = vbRed
Sheets("AM").Cells(zeile2, 8).Interior.Color = vbRed
Sheets("AM").Cells(zeile2, 9).Interior.Color = vbRed
End If
End If
End If
zeile2 = zeile2 + 1
Loop
Zelleninhalt = Sheets("NES").Cells(zeile1 + 1, spalte1).Value
zeile1 = zeile1 + 1
zeile2 = 7
'Fehler in Zellen abfangen
'Do While IsError(Sheets("NES").Cells(zeile1, spalte1))
'       zeile1 = zeile1 + 1
'Loop
Loop
Text3 = MsgBox("Prozess ist abgeschlossen!", vbInformation, "Info")
End Sub
Hier der Link zur Datei (ein Auszug; die richtige Datei enthält noch weitere Spalten, die aber für dieses Problem unerheblich sind.)
https://www.herber.de/bbs/user/111632.xlsx
Vielen Dank schonmal für eure Hilfe.
MfG
Christian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich zweier Spalten
22.02.2017 14:22:06
Der
Hallo,
gehe im Blatt NES auf Zelle D2 und markiere ab dort die Zellen unterhalb. Erstelle eine Regel für die bedingte Formatierung mit einer Formel zur Ermittlung. Dort fügst Du folgende Formel ein:
=ISTZAHL(VERGLEICH(NES!D2;AM!H:H;0))*(NES!D2"")

Jetzt noch das gewünschte Format für die bedingte Formatierung und es sollten alle markiert sein, die in der Tabelle AM vorkommen.
Gruß
Steuerfuzzi
AW: Vergleich zweier Spalten
22.02.2017 14:24:26
Anton
Hi Christian,
hab Dir mal ein Makro geschrieben:
Sub Vergleich()
Dim arr1() As Variant
Dim arr2() As Variant
Dim z As Long
Dim i As Long
Dim wksVgl1 As Worksheet
Dim wksVgl2 As Worksheet
Set wksVgl1 = ThisWorkbook.Worksheets("NES")
Set wksVgl2 = ThisWorkbook.Worksheets("AM")
With wksVgl1
arr1 = .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
arr2 = wksVgl2.Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
If UBound(arr1) > UBound(arr2) Then
For z = 1 To UBound(arr1)
If IsEmpty(arr1(z, 1)) = False Then
If arr1(z, 1) = arr2(z, 1) Then
.Cells(z, 1).Interior.Color = vbRed
wksVgl2.Cells(z, 1).Interior.Color = vbRed
End If
End If
Next z
Else
For z = 1 To UBound(arr2)
If IsEmpty(arr1(z, 1)) = False Then
If arr1(z, 1) = arr2(z, 1) Then
.Cells(z, 1).Interior.Color = vbRed
wksVgl2.Cells(z, 1).Interior.Color = vbRed
End If
End If
Next z
End If
End With
End Sub
VG Anton
Anzeige
und noch eine Lösung
22.02.2017 16:37:18
Michael
Hi,
leider hatte ich die doppelten Posts nicht gesehen, sonst hätte ich mir die Arbeit gar nicht erst gemacht...
Na, egal, hier die Testdatei: https://www.herber.de/bbs/user/111668.xlsm
Schöne Grüße,
Michael

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige