Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
552to556
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
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vergleich der Tabellenblätter untereinander

Vergleich der Tabellenblätter untereinander
24.01.2005 16:24:32
danheus
Hallo zusammen,
habe noch ein weiteres Problem:
Ich möchte gerne Tabellenblätter in derselben Arbeitsmappe untereinander vergleichen. Und zwar sollen inhaltliche Unterschiede zwischen einzelnen Tabellenblättern in jedem Tabellenblatt mit der Farbe rot angezeigt werden.
Danke im Voraus
danheus

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich der Tabellenblätter untereinander
24.01.2005 17:56:17
Josef
Hallo Danheus!
Wieviele Tabellenblätter?
Jedes mit jedem vergleichen?
Wie groß sit der Datenbereich?
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
auf Verdacht für alle Blätter!
24.01.2005 18:45:16
Josef
Hallo Danheus!


      
Option Explicit
Sub vergleichTabellen()
Dim arrA As Variant
Dim arrB As Variant
Dim strR As String
Dim iWs As Integer, a As Integer, b As Integer
Dim lR As Long, iC As Integer
strR = 
"A1:Z10000"   'untersuchter Bereich

iWs = ThisWorkbook.Worksheets.Count
On Error GoTo ERRORHANDLER:
Application.ScreenUpdating = 
False
   
For a = 1 To iWs - 1
   arrA = Sheets(a).Range(strR)
      
For b = a + 1 To iWs
      arrB = Sheets(b).Range(strR)
         
For iC = 1 To UBound(arrA, 2)
            
For lR = 1 To UBound(arrA, 1)
               
If arrA(lR, iC) <> arrB(lR, iC) Then
                  Sheets(a).Cells(lR, iC).Interior.ColorIndex = 3
                  Sheets(b).Cells(lR, iC).Interior.ColorIndex = 3
               
End If
            
Next
         
Next
      
Next
   
Next
   
ERRORHANDLER:
Application.ScreenUpdating = 
True
End Sub 


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Vergleich der Tabellenblätter untereinander
24.01.2005 20:57:59
danheus
Die Anzahl der Tabellenblätter sind von Datei zu Datei unterschiedlich. Aber durchschnittlich 4 Tabellenblätter.
Diese sollen mit dem ersten verglichen werden A1:H120
Gruß danheus
AW: Vergleich der Tabellenblätter untereinander
24.01.2005 22:25:20
Josef
Hallo Danheus!
Dann so:


      
Sub vergleichTabellen()
Dim arrA As Variant
Dim arrB As Variant
Dim strR As String
Dim iWs As Integer, a As Integer, b As Integer
Dim lR As Long, iC As Integer
strR = 
"A1:H120"   'untersuchter Bereich

iWs = ThisWorkbook.Worksheets.Count
On Error GoTo ERRORHANDLER:
Application.ScreenUpdating = 
False
   arrA = Sheets(1).Range(strR)
      
For b = 2 To iWs
      arrB = Sheets(b).Range(strR)
         
For iC = 1 To UBound(arrA, 2)
            
For lR = 1 To UBound(arrA, 1)
               
If arrA(lR, iC) <> arrB(lR, iC) Then
                  Sheets(a).Cells(lR, iC).Interior.ColorIndex = 3
                  Sheets(b).Cells(lR, iC).Interior.ColorIndex = 3
               
End If
            
Next
         
Next
      
Next
   
ERRORHANDLER:
Application.ScreenUpdating = 
True
End Sub 


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Vergleich der Tabellenblätter untereinander
25.01.2005 22:14:32
danheus
Werde es demnächst ausprobieren. Vielen Dank für deine Hilfe. Die VBA sieht vielversprechend aus.
Gruss danheus
AW: Vergleich der Tabellenblätter untereinander
Volker
Hallo daneus,
hier mal ein Ansatz. Geht natürlich davon aus, dass die Bereiche in den Blättern gleich groß sind.

Sub unterschiede_in_rot()
Dim bereich, zelle As Range
Set bereich = ActiveSheet.UsedRange
For Each zelle In bereich
If zelle <> Sheets(2).Range(zelle.Address) Then
zelle.Font.ColorIndex = 3
Sheets(2).Range(zelle.Address).Font.ColorIndex = 3
End If
Next
End Sub

Gruß
Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige