将单元格值的数组复制到VBA中的范围

我正在尝试将工作表复制到只有值的新工作簿,而不是公式。 我需要一列保留公式。

它可能不是最好的方法,但我试图将公式复制到变体数组,然后复制值,然后将公式数组添加到新的工作表。

我正在使用下面的代码,但得到一个错误。 “运行时错误:1004应用程序定义的错误或对象定义的错误。

Set wbNew = Workbooks.Open(NewName) Dim Colm As Variant Dim Frange As Range Colm = wbNew.Sheets(wsName).Range("F1:F100").Formula wbNew.Sheets(wsName).UsedRange.Value = wbNew.Sheets(wsName).UsedRange.Value Set Frange = wbNew.Sheets(wsName).Range("F1:F100") Set Frange = Frange.Resize(UBound(Colm), 1) Frange.Value = Colm 

这适用于我:

 Set wbNew = Workbooks.Open(NewName) Dim Colm As Variant Dim Frange As Range Set Frange = wbNew.Sheets(wsName).Range("F1:F100") Colm = Frange.Formula With wbNew.Sheets(wsName).UsedRange .Value = .Value End With Frange.Value = Colm