简体   繁体   English

将粘贴范围从一个工作表复制到另一个

[英]Copy paste range from one worksheet to another

I tried my code to copy from N3:Y34 to A1 on the new sheet "Calculated values" but it didn't work.我尝试将代码从 N3:Y34 复制到新工作表“计算值”上的 A1,但没有奏效。 I have tried .Paste and .PasteSpecial but nothing changes.我曾尝试.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

You could modify the below and try:您可以修改以下内容并尝试:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM