从vba中的变体中删除元素

我有一个变种,它有源码列表

Dim source as variant source = Range("A4:A" & rowcount) 

有时rowcount也是4,所以在这种情况下,我正在重新分配源

 source = Range("A4:A5") 

现在我想删除最后一行source(2)/source(2,1)

我怎样才能删除它?

我尝试清除所有东西的Erase source

我正在处理源数据和填充几个字典项目,我必须在许多地方进行更改,如果源不是一个数组,因为我已经用在许多地方

我怎样才能拥有第一个元素或删除最后一个元素?

你不能使用ReDim Preserve因为即使只有一个单元格,Range设置的variables也是2D的。

使用.Value或者.Value2来获得一个合适的数组和一个缓冲区variables来清除数据并将其传回到数据源中:

 Dim source as variant, A() Redim A(0) If rowcount<>4 Then source = Range("A4:A" & rowcount).Value Else source = Range("A4:A5").Value A(0)=source(1,1) Redim source(1 To 1, 1 To 1) source(1,1)=A(0) End if