我正在使用此代码将公式从一个工作簿复制到另一个工作簿。
For Each r In templateWbk.Sheets("BSC").Cells.SpecialCells(xlCellTypeFormulas)
addressRange = r.Address
r.Copy instanceWbk.Sheets("BSC").Range(addressRange)
Next
Occationally我得到一个弹出窗口,上面写着“名称”xxxxx“已经存在。单击是以使用该版本的名称,或单击否重命名您正在移动或复制的”xxxxx“版本。
我不希望这个弹出窗口出现。我总是希望复制单元格的确切内容,仅此而已,我希望使用现有版本的名称。这是我需要帮助的主要内容。
由于工作表有很多公式,因此代码也相当慢。因此,如果你能提出更快的方法,我也会感激。
答案 0 :(得分:1)
你能简单地将一个工作簿中的值设置为等于另一个工作簿中的值吗?这将继续消除“复制”方法:
For Each r In templateWbk.Sheets("BSC").Cells.SpecialCells(xlCellTypeFormulas)
instanceWbk.Sheets("BSC").Range(r.Address).Formula _
= templateWbk.Sheets("BSC").Range(r.Address).Formula
Next
此外,您可以尝试更改DisplayAlerts属性:
Application.DisplayAlerts = False
未经测试适用于您的场景,但这是摆脱许多弹出窗口的好方法。