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

时间:2017-09-03 21:11:40

标签: arrays excel vba copy formulas

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

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

我使用以下代码但收到错误。 "运行时错误: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

1 个答案:

答案 0 :(得分:1)

这对我有用:

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