将数据从工作表保存到另一个工作表的VBA代码

问题描述 投票:0回答:1

我在 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

我想复制显示值而不是背景公式。

excel vba
1个回答
0
投票

在这种情况下使用 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
© www.soinside.com 2019 - 2024. All rights reserved.