답변:
set
객체에 참조를 할당하는 데 사용됩니다. C에 해당하는 것은
int i;
int* ref_i;
i = 4; // Assigning a value (in VBA: i = 4)
ref_i = &i; //assigning a reference (in VBA: set ref_i = i)
VBA on the left | C on the right
) : Dim A, B As Range | Range A, B;
. 당신의 비유로 가면 A = B | A = B;
정확하고 (C에있을 것입니다) Set A = B | A = &B;
실제로 VBA에서는 정확합니다 (C에서는 실패 할 것입니다). VBA에서, A = B
그리고 Set A = B
C의 모두에 동일합니다 A = B;
! 구별은 다른 곳에서 발생합니다.
귀하의 경우 오류가 발생합니다. :-)
Set
객체 참조를 할당합니다. 다른 모든 할당의 경우 (암시 적, 선택적 및 거의 사용되지 않은) Let
문이 정확합니다.
Set object = New SomeObject
Set object = FunctionReturningAnObjectRef(SomeArgument)
Let i = 0
Let i = FunctionReturningAValue(SomeArgument)
' or, more commonly '
i = 0
i = FunctionReturningAValue(SomeArgument)
에서 MSDN :
키워드 설정 : VBA에서 오브젝트 설정과 오브젝트의 기본 속성 지정을 구별하려면 Set 키워드가 필요합니다. Visual Basic .NET에서는 기본 속성이 지원되지 않으므로 Set 키워드는 필요하지 않으며 더 이상 지원되지 않습니다.
Object variable or With block variable not set
VBA 의 오류 로 인해 여기에 도착하는 사람들에게는 도움이되지 않습니다. :)