繁体   English   中英

Excel- VBA- 将范围从一张工作表复制到多个命名工作表

[英]Excel- VBA- Copy Range From One Sheet To Multiple Named Sheets

尝试将范围从 Sheet1 复制到 31 个工作表上的相同范围,但不断收到“运行时错误 1004:工作表类的粘贴方法失败”,调试器指示ActiveSheet.Paste是问题所在。 我可以复制到单张纸没有问题,但不能复制到多张纸。 我试过到处寻找,但无法弄清楚问题是什么(这也可能很简单)。

Sheets("Sheet1").Range("A1:AR34").Copy
Sheets(Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", _
    "16", "17", "18", "19", "20", "21", "22", "23", "24", "25")).Select
Sheets("1").Activate
Sheets(Array("26", "27", "28", "29", "30", "31")).Select Replace:=False
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

您可以直接使用.Copy方法而无需.Select

Sub Bouton1_Clic()
    Dim wsList() As String, wsName As Variant, ws As Worksheet
    Dim wsSource As Worksheet: Set wsSource = ThisWorkbook.Sheets("Sheet1")

    wsList = Split("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31", " ")

    For Each wsName In wsList
        Set ws = ThisWorkbook.Sheets(wsName)
       
        wsSource.Range("A1:AR34").Copy
        ws.Range("A1").PasteSpecial xlPasteValues
        Application.CutCopyMode = xlCopy
    Next wsName

End Sub

暂无
暂无

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

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