VBA粘贴为值而不是公式

VBA粘贴为值而不是公式,vba,Vba,我需要修改下面的代码,以便它复制值而不是公式,但我不知道如何修改它。你能帮我吗 Dim OutApp As Object Dim OutMail As Object Dim myDataRng As Range Dim cell As Range Dim iCnt As Integer Dim sMail_ids As String Dim TempFilePath As String Dim FileExt As String Dim TempFileName As String Dim Fi

我需要修改下面的代码,以便它复制值而不是公式,但我不知道如何修改它。你能帮我吗

Dim OutApp As Object
Dim OutMail As Object
Dim myDataRng As Range
Dim cell As Range
Dim iCnt As Integer
Dim sMail_ids As String
Dim TempFilePath As String
Dim FileExt As String
Dim TempFileName As String
Dim FileFullPath As String
Dim FileFormat As Variant
Dim Wb1 As Workbook
Dim Wb2 As Workbook

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
    Set Wb1 = ThisWorkbook

    Set Wb2 = Workbooks.Add(xlWBATWorksheet)
    
    Wb1.ActiveSheet.Range("A3:K32").Copy Wb2.Sheets(1).Range("A1")
    
    Wb2.Sheets(1).Name = Wb1.ActiveSheet.Name

请尝试最快的方法(使用数组,不涉及剪贴板):

Wb1.ActiveSheet.Range(“A3:K32”)。复制
Wb2.Sheets(1.Range(“A1”)。粘贴特殊xlPasteValues
搜索“[vba]粘贴为值”会得到4558个结果!即使搜索“[vba]粘贴为值而不是公式”,也会得到541个结果。
'your code...
'replace  Wb1.ActiveSheet.Range("A3:K32").Copy Wb2.Sheets(1).Range("A1") with:
Dim arr
arr = Wb1.ActiveSheet.Range("A3:K32").value
Wb2.Sheets(1).Range("A1").Resize(Ubound(arr), Ubound(arr, 2)).value = arr

'your code