Herbers Excel-Forum - das Archiv

Erklärung eines codes (Teile) vergleich Mappen)

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
Excel-Beispiele zum Thema "Erklärung eines codes (Teile) vergleich Mappen)"
Zeichenfolge aufteilen In eine InputBox eingegebene Daten in Elemente aufteilen
Text aus Textbox in Zellen aufteilen Telefonnummern nach Vorwahl und Anschluß aufteilen
Teilergebnisse in Zahlenreihe eintragen und löschen Textreihe auf mehrere Spalten mit fester Seitenlänge verteilen
Hyperlink aufteilen Zelleingaben automatisch auf volle 1,2-Teile runden
Arbeitsmappe zeitgesteuert per Email an einen Verteiler versenden Zellen vergleichen und markieren