单元格的值复制数组范围VBA
问题描述:
我想将工作表复制到只值,而不是公式一个新的工作簿。我需要一列来保留公式。单元格的值复制数组范围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
(一)你从来没有分配值'wsName'和'NewName'(但也许这只是因为发布了一些不是MCVE的东西?)(b)哪一行给出了错误?(c)一旦我赋予了'wsName'和'NewName'值,代码就为我工作,并给出了不同的错误如果我没有,那么你得到的那个 – YowE3K
我同意@YowE3K一切都应该工作,只要'NewName'和'wsName'是正确的,这行不做任何事:'Set Frange = Frange.Resize(UBound Colm),1)'。'Frange'已经是'U绑定(Colm)'行1列。 – 2017-09-03 22:12:45