我在 MS Excel 中开发了一个 vba 函数,用于将数据从一个 Excel 工作表保存到另一个 Excel 工作表,但它复制背景公式而不是值。
Sub SaveData()
Dim i As Long
Dim lastrow As Long
Dim erow As Long
lastrow = Sheets("Invoice").Range("A" & Rows.Count).End(xlUp).Row
For i = 7 To lastrow
erow = Sheets("Sale_Register").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
Range(Cells(i, 1), Cells(i, 3)).Copy Destination:=Sheet4.Cells(erow, 1)
Next i
MsgBox "Data Saved Successfully", vbOKOnly + vbInformation, "Alert"
End Sub
我想复制显示值而不是背景公式。
在这种情况下使用 PasteSpecial 方法
Sub SaveData()
Dim i As Long
Dim lastrow As Long
Dim erow As Long
lastrow = Sheets("Invoice").Range("A" & Rows.Count).End(xlUp).Row
For i = 7 To lastrow
erow = Sheets("Sale_Register").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
Range(Cells(i, 1), Cells(i, 3)).Copy
Sheet4.Cells(erow, 1).PasteSpecial xlPasteValues
Next i
MsgBox "Data Saved Successfully", vbOKOnly + vbInformation, "Alert"
End Sub