当前位置: 首页 > 知识库问答 >
问题:

Excel-VBA-复制范围从一张表到多张命名表

赵骏奇
2023-03-14

试图将一个范围从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

共有1个答案

许博达
2023-03-14

您可以直接使用。复制方法而不使用。选择

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
 类似资料:
  • 我有一个工作簿,有7张工作表,但只有6张数据。所有这7张表都有相同的结构/标题,只是最后一张表(表7)是空白的。 我想编写一个代码,将A2:J15范围内的表1-6的内容复制到表7工作表中。我目前有一个代码,我一直在使用,以测试,看看它是否工作,但代码我只有副本和粘贴从一个工作表仅(见下文)。有什么建议吗? 在下面的工作表中,我有两个工作表,我希望数据来自其中,另一个是目标工作表,我希望数据去那里:

  • 我在一列中有两个具有唯一ID的工作表。我需要确保每当在一张图纸(Sheet1)中添加新ID时,它都会复制到另一张图纸(Sheet2)中的最后一个空行。IMPORTRANGE将不会作为动态工作。在其他工作表中添加的任何静态信息都与相应的ID无关。 在另一个线程[1]中,我得到了开发这个脚本的帮助,它将完全做到这一点。但是,这个脚本将在列A中的另一个工作表中插入数据。我如何修改脚本,以便我可以决定我希

  • 我想从工作簿中复制一个范围,并将其转置到当前工作表中。 工作簿(“库\document\book1.xlsx”)。工作表(“sheet1”)。范围(“A1:A5”)。复制

  • 我正试图将所有工作表(7张)从workbook1(wb1)复制到WB2。wb1包含命令按钮,但我不希望它们出现在我的新工作簿中。我正在使用循环将单个工作表从一个工作簿复制到另一个工作簿。但是复制到第二张时出错了。我使用的代码如下:- 循环第一次成功运行,但对于i=2,代码给出错误

  • 我试图写一个脚本,将信息从一张表复制到另一张表中的Google Sheets,作为每日更新。信息是按行显示的(例如。第5行有我想复制的所有信息,A列是输入的日期)如果条目上的日期(A列)与今天的日期不匹配,那么整行需要转移到另一张床单。 我无法将包含输入信息日期的单元格与今天的日期进行比较,然后捕获该单元格的行号,然后设置要复制的变量。 在新工作表上,它需要扫描下一个空行的范围,然后将信息粘贴到下