95 Stimmen

Was ist der Unterschied zwischen dim und set in vba

Verzeihen Sie mir, ich bin ein Neuling in VBA.

Manchmal verwende ich

Dim r as Range
r = Range("A1")

Andere Male verwende ich

Set r = Range("A1")

Worin besteht der Unterschied? Und wann sollte ich was verwenden?

1voto

IqbalHamid Punkte 1926

Dim ist die Abkürzung für Dimension und wird in VBA und VB6 verwendet, um lokale Variablen zu deklarieren.

Set hingegen hat nichts mit Variablendeklarationen zu tun. Die Set Schlüsselwort wird verwendet, um zuweisen. eine Objektvariable zu einem neuen Objekt.

Ich hoffe, das verdeutlicht den Unterschied für Sie.

0voto

Soroush Punkte 1

Laut VBA-Hilfe setzt die SET-Anweisung einen Verweis auf ein Objekt. Wenn Sie also eine Eigenschaft ändern, ändert sich auch das tatsächliche Objekt.

Dim newObj as Object
Set var1=Object1(same type as Object)
Set var2=Object1(same type as Object)
Set var3=Object1(same type as Object)
Set var4=Object1(same type as Object)
Var1.property1=NewPropertyValue

ändern sich auch die anderen Vars-Eigenschaften, also:

Var1.property1=Var2.property1=Var3.property1=Var4.property1=Object1.Property1=NewpropertyValue`

Eigentlich sind alle Variablen gleich!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X