Answers:
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;
!区别发生在其他地方。
从MSDN:
设置关键字: 在VBA中,必须使用设置关键字来区分对象的分配和对象的默认属性的分配。由于Visual Basic .NET不支持默认属性,因此不需要Set关键字,并且不再支持它。
Object variable or With block variable not set
VBA错误而到达此处的人们没有帮助:)