2017-09-03 132 views
1

我想將工作表複製到只值,而不是公式一個新的工作簿。我需要一列來保留公式。單元格的值複製數組範圍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 
+1

(一)你從來沒有分配值'wsName'和'NewName'(但也許這只是因爲發佈了一些不是MCVE的東西?)(b)哪一行給出了錯誤?(c)一旦我賦予了'wsName'和'NewName'值,代碼就爲我工作,並給出了不同的錯誤如果我沒有,那麼你得到的那個 – YowE3K

+0

我同意@YowE3K一切都應該工作,只要'NewName'和'wsName'是正確的,這行不做任何事:'Set Frange = Frange.Resize(UBound Colm),1)'。'Frange'已經是'U綁定(Colm)'行1列。 – 2017-09-03 22:12:45

回答

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 
相關問題