我有两个 Excel 工作簿Book_A和Book_B,我知道如何从A -> B复制整个工作表:
wksSh1.Copy Before:=wkbBook_B.Sheets(1)
但我只想复制带有值和格式而不是公式的工作表。这是可能的
wksSh1.Copy Before:=wkbBook_B.Sheets(1)
with wkbBook_B.Sheets(1).UsedRange
.value = .value 'converts formulas to values
end with
使用PasteSpecial
:
wksSh1.Copy
With wkbBook_B.Sheets(1)
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteValues
End With
正如 Scott 评论的那样,对于早期版本的 Excel (2003 +),您可以使用xlPasteValuesAndNumberFormats
.
如果您知道行数和列数(或者您可以使用行数和列数来计算它们),这样会更安全:
For i = 2 To numberOfRows
For j = 1 To numberOfColumns
Cells(i, j).Value = Cells(i, j).Value
Next
Next