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