Hallo liebes Forum,
ich brauche bitte mal Hilfe, um folgendes zu verstehen:
Ich lese Werte aus einem Tabellenblatt in ein Dictionary.
Wenn ich nun einen Wert im Tabellenblatt ändere, dann ändert sich auch der Wert im Dictionary.
Ist das normal? Ich dachte, ein Dictionary funktioniert wie ein Array, wo also die Zellwerte in den Speicher kopiert werden.
Bei der Ausführung des Codes ändert sich der Wert von DictDebitoren(oCust.Debitor) zu oCust.Kunde.
Wenn ich aber die Zeile unter '1. ausschalte, dann bleibt DictDebitoren(oCust.Debitor) unverändert. Aber in der Zeile unter '1 wird ja nur ein Wert in ein Tabellenblatt geschrieben.
Warum verändert das also den Wert im Dictionary?
Danke und Gruß,
Mick
ich brauche bitte mal Hilfe, um folgendes zu verstehen:
Ich lese Werte aus einem Tabellenblatt in ein Dictionary.
Wenn ich nun einen Wert im Tabellenblatt ändere, dann ändert sich auch der Wert im Dictionary.
Ist das normal? Ich dachte, ein Dictionary funktioniert wie ein Array, wo also die Zellwerte in den Speicher kopiert werden.
Code:
If DictDebitoren(oCust.Debitor) <> oCust.Kunde Then 'Falls Kundennamen nicht übereinstimmen
'1. Korrektur des Kundennamen im Tabellenblatt (Ursprung für das Dictionary)
Sheets("DebitorRef").Range("TBDebitorRef[Debitor]").Find(what:=oCust.Debitor).Offset(Columnoffset:=1) = oCust.Kunde
'2. Zelländerungen in einem anderen Tabellenblatt
Sheets("Quelldaten").Range("TBQuelldaten[Kunde]").Replace DictDebitoren(oCust.Debitor), oCust.Kunde
End If
Bei der Ausführung des Codes ändert sich der Wert von DictDebitoren(oCust.Debitor) zu oCust.Kunde.
Wenn ich aber die Zeile unter '1. ausschalte, dann bleibt DictDebitoren(oCust.Debitor) unverändert. Aber in der Zeile unter '1 wird ja nur ein Wert in ein Tabellenblatt geschrieben.
Warum verändert das also den Wert im Dictionary?
Danke und Gruß,
Mick