将数组复制到单元格范围内

我想复制数组mastersheet()的值到一个大小相等的单元格的范围。

mastersheet()最初被声明为一个变体Dim mastersheet() As Variant

最终在代码中有4个“列”或维度。 ReDim mastersheet(1, 1, 1, 1)

最终在第2列或第二维中添加string。 并非所有列都具有相同的数据types。

wbmastersheet.Worksheets(1).range("A1:D" & UBound(mastersheet, 4)) = mastersheet()

我得到下面的错误

错误13:types不匹配

谁能解决这个问题吗?

你似乎混淆了排名与实际维度。

重写你的代码,使主表是1到x ,1到4.把值放入数组中,

 redim mastersheet(1 to 2, 1 to 4) mastersheet(1, 1) = "A1" mastersheet(1, 2) = "B1" mastersheet(1, 3) = "C1" mastersheet(1, 4) = "D1" mastersheet(2, 1) = "A2" mastersheet(2, 2) = "B2" mastersheet(2, 3) = "C2" mastersheet(2, 4) = "D2" 

把这些值写回工作表,

 wbmastersheet.Worksheets(1).range("A1").Resize(UBound(mastersheet, 1), UBound(mastersheet, 2)) = mastersheet