【问题标题】:Copy paste range from one worksheet to another将粘贴范围从一个工作表复制到另一个工作表
【发布时间】:2020-04-09 15:59:36
【问题描述】:

我尝试将我的代码从 N3:Y34 复制到新工作表“计算值”上的 A1,但它不起作用。我试过.Paste 和.PasteSpecial 但没有任何改变。

Sheets.Add.Name = "Calculated Values"

'Copy the data
ActiveSheet.Range("N3:Y34").Copy
'Activate the destination worksheet
Sheets("Calculated Values").Activate
'Select the target range
Range("A1").Select
'Paste in the target destination
Sheets("Calculated Values").PasteSpecial

Application.CutCopyMode = False

【问题讨论】:

    标签: excel vba copy range paste


    【解决方案1】:

    您可以修改以下内容并尝试:

    Option Explicit
    
    Sub test()
    
        'Check if sheet excist
        If Sheet_Exists("Calculated Values") = False Then
    
            Worksheets.Add().Name = "Calculated Values"
    
        End If
    
        With ThisWorkbook
            'Copy with formats
            .Worksheets("Sheet1").Range("N3:Y34").Copy .Worksheets("Calculated Values").Range("A1")
            'Copy only values
            .Worksheets("Sheet1").Range("N3:Y34").Copy
            .Worksheets("Calculated Values").Range("A1").PasteSpecial xlPasteValues
        End With
    
    End Sub
    
    Function Sheet_Exists(WorkSheet_Name As String) As Boolean
    
        Dim Work_sheet As Worksheet
    
        Sheet_Exists = False
    
        For Each Work_sheet In ThisWorkbook.Worksheets
    
            If Work_sheet.Name = WorkSheet_Name Then
                Sheet_Exists = True
            End If
    
        Next
    
    End Function
    

    【讨论】:

    • 在将“Sheet1”修改为我的工作表名称后,我尝试了您的代码。它仍然给我一个运行时错误'9',下标超出范围。
    • 吃了哪一行??
    • 错误 1004,.Worksheets("Sheet1").Range("N3:Y34").Copy .Worksheets("Calculated Values").Range("A1")
    • 感谢@Error 的帮助,通过我的检查后我发现了我的错误。这应该是正确的代码:ActiveSheet.Range("N3:Y34").Copy Worksheets.Add.Name = "Calculated Values" 'Activate the destination worksheet Sheets("Calculated Values").Activate 'Select the target range Range("A1").Select 'Paste in the target destination Sheets("Calculated Values").PasteSpecial Application.CutCopyMode = False
    • 很高兴为您提供帮助。如果答案有助于投票以帮助其他人
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多