Erklärung eines codes (Teile) vergleich Mappen)

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Erklärung eines codes (Teile) vergleich Mappen) von: chris b
Geschrieben am: 01.04.2005 08:55:14

Hallo VBA Profis,
ich bitte mal wieder um eine kleine erkläreung.
habe einen Code der mir 2 tabellen miteinander vergleicht.
Aber ich verstehe noch nicht alles in diesem Source. Hier erst einmal der Coder:


Sub Vergleich()
   Dim wks As Worksheet
   Dim rngChange As Range, rngTest As Range
   Dim rngSource As Range, rngTarget As Range
   Dim intCounter As Integer
   Set rngSource = Worksheets("Daten").UsedRange
   Set wks = Worksheets("Dummy")
   For Each rngTest In rngSource.Cells
      If rngTest.Value <> wks.Range(rngTest.Address).Value Then
         If rngChange Is Nothing Then
            Set rngChange = rngTest
         Else
            Set rngChange = Union(rngChange, rngTest)
         End If
      End If
   Next rngTest
   If rngChange Is Nothing Then
      MsgBox "Keine Veränderungen!"
   Else
      rngChange.Select
   End If
End Sub





Wasich z.b erklärt bekommen möchte ist
warum rngChange.Select mehere zellen Markiert also wo er sich die einzelnen Zellen merkt.
Dann auch noch was dieser Befehl genau macht
Set rngChange = Union(rngChange, rngTest)

Also allgemein damit ich das ganze besser verstehe.
Nur wenn jemand etwas Zeit hat.Das ganze ist nicht "lebensnotwendig"
Würde mich aber freuen !
Vielen dank an alle Mithelfer hier !
Super Forum danke !!!!
grüße Christian
Bild


Betrifft: AW: Erklärung eines codes (Teile) vergleich Mappen) von: Ingo
Geschrieben am: 01.04.2005 10:12:28

Hallo Christian!,

der Befehl union bildet ein Range Object aus mehreren anderen. Am Beginn dert Prozedur ist rngChange noch nothing, dann werden Zelle für zelle(rngTest) die beiden Tabellen abgeglichen und immer wenn Unterschiede auftauchen, wird diejenige zelle(rngTest) dem rngChange hizugefügt, deshalb können auch später bei den Befehl rngChange.select mehrere zellen markiert werden, weil rngChange ebeb aus allen Zellen besteht, die abweichen

m f G
Ingo Christiansen


Bild


Betrifft: AW: Erklärung eines codes (Teile) vergleich Mappen) von: chris b
Geschrieben am: 01.04.2005 23:48:28

Danke für die erklärung ! Hat etwas licht ins dukel gebracht :)!
grüße Chris


Bild


Betrifft: AW:noch etwas von: chris b
Geschrieben am: 01.04.2005 23:58:15

Hallo Ingo,
hast mir schon gut geholfen , hätte da aber doch noch fragen. Würde mich freuen wenn du oder mir noch jemand das erklären könnte und zwar:
-----------------------------------------------
Was geschieht hier genau ? Also was schreibt es in die variablen
rngSource und wks also welche genauen werte oder was passiert da?
Set rngSource = Worksheets("Tabelle1").UsedRange
Set wks = Worksheets("Tabelle2")
-----------------------------------------------


dann noch
-----------------------------------------------
Warum steht bei der zweiten anweisung "wks.Range(rngTest.Address).Value"
und bei der ersten nur rngTest.Value also kein Worksheet davor?
If rngTest.Value <> wks.Range(rngTest.Address).Value Then
-----------------------------------------------

und hier:
-----------------------------------------------
Was passiert hier
Set rngChange = Union(rngChange, rngTest)
also was steht am ende bei meheren unterschieden in dieser Variable?
Vielen Dank noch einmal für die super hilfe !!!!!! danke gruß Christian


Bild


Betrifft: AW: Erklärung eines codes (Teile) vergleich Mappen) von: chris b
Geschrieben am: 02.04.2005 00:10:04

Und noch eins habe ich gerade gesehen,
Hier werden ja die unterschiedlichen bereiche zusammengefasst.
Also in der Variable "rngChange"

Set rngChange = Union(rngChange, rngTest)

Aber wenn ich im VBA editor Überwachung anklicke und dann diese Werte anschaue die in der variable sind sind das ewig viele.
Wo Würde ich da erkennen welche bereiche in ihr vorhanden sind.
Danke noch mal.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Erklärung eines codes (Teile) vergleich Mappen)"