微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何仅在excel VBA中粘贴VALUES?

如何解决如何仅在excel VBA中粘贴VALUES?

所以我只需要将一系列数据的值粘贴到工作表“MasterList”中。我正在寻找方法来做到这一点,并发现了这一点:

.PasteSpecial Paste:=xlPasteValues

我应该如何更改代码才能使用 .PasteSpecial Paste:=xlPasteValues 函数?我想我需要两行代码来完成这个,但我无法弄清楚语法......

Dim Lastrow As Integer

Lastrow = Cells(15,3).Value + 3

Dim copyrange As String

Startrow = 3
Let copyrange = "I" & Startrow & ":" & "K" & Lastrow
Range(copyrange).Select
Selection.copy

Sheets.Add.Name = "MasterList"
**ActiveSheet.Paste Destination:=Range("A1")**
ActiveSheet.Move

解决方法

你应该避免使用 select 但也要避免使用剪贴板,因为它很慢:

With ActiveSheet 'should put the actual sheet here
    Dim Lastrow As Long
    Lastrow = .Cells(15,3).Value + 3
    
    Dim startrow As Long
    startrow = 3
    
    Dim Copyrange As String
    Copyrange = "I" & startrow & ":" & "K" & Lastrow
    
    Dim rng As Range
    Set rng = .Range(Copyrange)
    
    Dim mstlt As Worksheet
    Set mstlt = Worksheets.Add
    
    mstlt.Name = "MasterList"
    
    mstlt.Range("A1").Resize(rng.Rows.Count,rng.Columns.Count).Value = rng.Value
End With

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。