将一个Range对象存储在Variant中

Sub test() Dim rng As Range Dim not_rng As Variant Set rng = Sheets("Test").Range("A1:B2") Debug.Print TypeName(rng) not_rng = rng Debug.Print TypeName(not_rng) End Sub 

上面的代码打印

 Range Variant() 

我想打印Range, Variant

啊,我错过了Set关键字:

 Sub test() Dim rng As Range Dim not_rng As Variant Set rng = Sheets("Test").Range("A1:B2") Debug.Print TypeName(rng) Set not_rng = rng Debug.Print TypeName(not_rng) End Sub 

现在它打印

 Range Range 

这更有意义。