Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
300to304
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
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blätter oder Dateien mit einem Blatt vergleichen

Blätter oder Dateien mit einem Blatt vergleichen
26.08.2003 20:45:00
Georg
Hallo zusammen!
seit längerem versuche ich größere Tabellen mit gleichem Spaltenaufbau zu vergleichen.
Unterschiedliche Inhalte in einzelnen Feldern möchte ich gern farblich hervorheben.
Mit der bedingten Formatierung kam ich nicht weiter, da die Vergleichs- und Referenztabelle in unterschiedlichen Dateien sind.
Falls es den Vergleich vereinfacht, könnte ich die Dateien vorher in eine Datei auf unterschiedliche Blätter kopieren.

Eine Lösung für gleiche Zeilenanzahl würde mir bereits riesig weiterhelfen.
(alles ist besser als ein manueller Vergleich der Dateien...)

Danke im Vorraus...
Georg

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blätter oder Dateien mit einem Blatt vergleichen
26.08.2003 21:13:49
Ramses
Hallo,

das Makro musst du noch entsprechend den Variablen anpassen, aber dann sollte es laufen


Sub Compare_Cells()
Dim wb1 As Workbook, wb2 As Workbook
Dim wks1 As String, wks2 As String
Dim c As Range, c2 As String
Set wb1 = Workbooks("Mappe1.xls") 'Referenztabelle
Set wb2 = Workbooks("Mappe2.xls") 'Vergleichtabelle
wks1 = "Tabelle1" 'Referenztabelle
wks2 = "Tabelle1" 'Vergleichtabelle
wb1.Worksheets(wks1).Cells.CurrentRegion.Select
For Each c In Selection
    c2 = c.Address
    If c.Value <> wb2.Worksheets(wks2).Range(c2).Value Then
        c.Interior.ColorIndex = 6
    End If
Next
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



Unterschiedliche zellen werden GELB markiert

Gruss Rainer
Anzeige
AW: Blätter oder Dateien mit einem Blatt vergleichen
26.08.2003 22:03:35
Georg
Kann's kaum fassen, genial!!!

Hallo Rainer!
hab' schon etliche Bekannte gefragt, aber daß ich eine fertige Lösung in so kurzer Zeit (fast online) bekomme - Wahnsinn!

Einen Haken hat's noch; ein Problem, was mich bei einigen Makro-Versuchen immer wieder zum manuellen Tricksen genötigt hat:

Einigen Zeilen oder Spalten sind komplett leer. Dadurch wird das zu vergleichende Array nicht komplett erkannt.
Bei den Spalten sollte's 'ne Lösung geben, da hier fast immer die gleiche Anzahl vorhanden ist.
Sonst: In Zeile 7 sind alle benutzten Spalten gefüllt.

Aber die Zeilenzahl variiert zwischen 12 und 1000-2000.

Vielleicht kannst Du mir auch hier helfen?
Sonst nochmal vielen Dank...
Georg
Anzeige
AW: Blätter oder Dateien mit einem Blatt vergleichen
26.08.2003 22:09:56
Ramses
Hallo,

du solltest dich etwas genauer ausdrücken:

"...seit längerem versuche ich größere Tabellen mit gleichem Spaltenaufbau zu vergleichen...."

Wieviele Spalten sind es denn immer !?

Gruss Rainer
AW: Blätter oder Dateien mit einem Blatt vergleichen
26.08.2003 22:32:47
Georg
Habe unterschiedliche Tabellenformate, vergleiche aber jeweils nur zueinander gehörende.
Mal 19 Spalten, mal mehr. Kann sich auch mal ändern.
Wie gesagt: Immer in der 7. Zeile ist garantiert in jeder Spalte ein Eintrag. Kann man diese als Referenz nehmen?

Allerdings habe ich keine Spalte, in der immer ein Eintrag ist. Deshalb klappt's mit den Zeilen nicht so einfach.
Unter den letzten Zeilen kommt nach einer Leerzeile aber immer ein paar Zeilen als "Fußnote", welche identisch sind.
Zur Not könnte ich mir auch vorstellen, die Zeilenzahl manuell anzugeben.

Ganz schön kompliziert, oder?
Georg
Anzeige
AW: Blätter oder Dateien mit einem Blatt vergleichen
26.08.2003 22:42:55
Ramses
Hallo,

ich denke das wird so nichts mehr.
Deine Darstellung wird immer konfuser.

"...Immer in der 7. Zeile ist garantiert in jeder Spalte ein Eintrag...."

"...Allerdings habe ich keine Spalte, in der immer ein Eintrag ist..."

Ich mach dir folgenden Vorschlag:

Speichere das Makro in deiner Referenzdatei, und markiere den Bereich den du prüfen willst VORHER und lass dann das Makro laufen


Sub Compare_Cells()
Dim wb1 As Workbook, wb2 As Workbook
Dim wks1 As String, wks2 As String
Dim c As Range, c2 As String
Set wb1 = Workbooks("Mappe1.xls") 'Referenztabelle
Set wb2 = Workbooks("Mappe2.xls") 'Vergleichtabelle
wks1 = "Tabelle1" 'Referenztabelle
wks2 = "Tabelle1" 'Vergleichtabelle
For Each c In Selection
c2 = c.Address
If c.Value <> wb2.Worksheets(wks2).Range(c2).Value Then
c.Interior.ColorIndex = 6
End If
Next
End Sub


Das Makro prüft dann jede Zelle im markierten Bereich

Gruss Rainer
Anzeige
AW: Blätter oder Dateien mit einem Blatt vergleichen
26.08.2003 23:15:27
Georg
"Deine Darstellung wird immer konfuser."
Ja, kann ich nachvollziehen. Das Thema ist recht komplex und erst recht mit Worten zu beschreiben.

Wenn ich es richtig verstanden habe, wird mit
"wb1.Worksheets(wks1).Cells.CurrentRegion.Select "
von $A$1 aus ein Array selektiert.
Um die Zeilenzahl dieses Arrays zu bestimmen, sucht Excel nach der ersten leeren Zeile und verwendet z-1.
Um die Spaltenzahl dieses Arrays zu bestimmen, sucht Excel nach der ersten leeren Spalte und verwendet s-1.
Das selektierte Array ist also von $A$1 bis $(s-1)$(z-1).

"...Immer in der 7. Zeile ist garantiert in jeder Spalte ein Eintrag...."
Soll heißen, daß in der 7. Zeile nachgesehen werden könnte, wieviele Spalten es sind, da die erste leere Spalte in dieser Zeile ausserhalb des interessanten Bereichs liegt.

"...Allerdings habe ich keine Spalte, in der immer ein Eintrag ist..."
Soll heißen, daß nicht z.B. in der 2. Spalte nachgesehen werden könnte, wieviele Zeilen es sind, da der interessante Bereich evtl. weiter geht als die erste leere Zeile.

Falls es für die leeren Zeilen bzw. Spalten keine Lösung gibt, werde ich versuchen die Tabelle vor dem Vergleich mit einer redundaten Spalte zu füllen, die einfach nur irgend ein Zeichen enthält (z.B. "x"), um diese Spalte nach dem Vergleich wieder zu löschen.
Aber hier beginnt halt wieder das Tricksen...

Nochmals vielen, vielen Dank. Das Makro zu editieren ging deutlich schneller als auch nur eine Tabelle manuell zu vergleichen!
Dank auch im Namen meiner Augen ;-)

Georg
Anzeige
Sonderlösung....
27.08.2003 00:06:17
Ramses
Hallo,

setze vor den Beginn der Schleife diese zeile

Range([A1], ActiveCell.SpecialCells(xlLastCell)).Select

Damit wird von A1 bis zur letzten verwendeten Zelle alles selektiert.
Es wird keine Unterscheidung gemacht ob die Daten zusammenhängend sind oder nicht

Damit müsste es dann aber eigentlich gehen :-)

Gruss Rainer
AW: Sonderlösung.... Knaller!!! Spitze, Geil, ...
27.08.2003 00:41:30
Georg
Knaller!!! Spitze, Geil, ...

Es werden alle Zellen markiert, keine zuviel!
Nix mehr mit Zeile 7 und unnötigen Spalten...

Kann mir vorstellen, daß ich mir mit ein paar Änderungen in meinen anderen Makros endlich die Felder korrekt markieren könnte.
Da bin ich schon seit Anfang 2000 dran (allerdings ist's da noch'n bischen komplexer ;-)

Danke, werde Dich sicher im Header erwähnen.
Kann jetzt 'ne Stunde früher nach Hause... (müde)

Georg
Anzeige
AW: Sonderlösung.... Knaller!!! Spitze, Geil, ...
27.08.2003 07:09:22
Erich M.
Hallo Georg,

auch wenn Du die Lösung bereits hast, vielleicht hilft Dir auch diese Musterdatei; fallst Du es probierst, würde mich interessieren, ob Dein Problem mit der "Zeile 7" auch gelöst wird:

https://www.herber.de/bbs/user/738.xls

Danke und mfg
Erich

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige