【问题标题】:Copy and paste content of selected worksheets into a new worksheet将选定工作表的内容复制并粘贴到新工作表中
【发布时间】:2017-08-13 23:34:01
【问题描述】:

我有一个包含 10 个工作表的 Excel 工作簿。 我想要一个宏能够将“Sheet3”、“Sheet4”、“Sheet5”、“Sheet6”和“Sheet7”的所有内容复制到目前为空的“Sheet10”中。一个接一个。

“Sheet3”、“Sheet4”、“Sheet5”、“Sheet6”和“Sheet7”的内容并不总是相同,所以我希望这个宏能够复制所有内容,而不仅仅是一个固定的范围。

【问题讨论】:

  • 使用 excel 内置记录功能记录您的操作并根据您的要求修改代码,并将代码发布为阻止您继续进行的确切问题。
  • 我无法记录它,因为合并功能不允许我简单地将工作表复制并粘贴到另一张空白表中。
  • 列数是否保持不变?
  • 列数也在变化。

标签: vba excel


【解决方案1】:

Excel 有许多 SpecialCells 方法,其中一种方法是查找工作表中最后使用的单元格。出于某种原因,宏会将其记录为 .SpecialCells(xlLastCell) 而 Excel 帮助/参考说明它是 .SpecialCells(xlCellTypeLastCell) 并且您也可以使用值 11。 下面的所有三个宏都将从当前单元格选择到工作表中的最后一个单元格。

Sub Macro1()
' Macro1 Macro
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
End Sub

Sub Macro2()
' Macro1 Macro
    Range(Selection, ActiveCell.SpecialCells(xlCellTypeLastCell)).Select
End Sub

Sub Macro3()
' Macro1 Macro
   Range(Selection, ActiveCell.SpecialCells(11)).Select
End Sub

这是一个非常基本的示例,它将从 sheet1 和 sheet2 复制数据并将其附加到 sheet3。

Sub Macro4()
Sheets("Sheet1").Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
'Application.CutCopyMode = False
Selection.Copy

Sheets("Sheet3").Select
ActiveCell.SpecialCells(xlLastCell).Select
Selection.Offset(1, 0).Select
Selection.End(xlToLeft).Select
ActiveSheet.Paste

Sheets("Sheet2").Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
'Application.CutCopyMode = False
Selection.Copy

Sheets("Sheet3").Select
ActiveCell.SpecialCells(xlLastCell).Select
Selection.Offset(1, 0).Select
Selection.End(xlToLeft).Select
ActiveSheet.Paste
End Sub

【讨论】:

  • 好的,但我不明白。我是否必须复制并粘贴此代码而不是每张纸的当前选择?
  • 如果 A1 是活动单元格,则 Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select End Sub 将选择工作表中的所有内容。然后复制它,并将其粘贴到您的第 10 个工作表中。
  • 另外,当您将第二张和后续工作表粘贴到摘要工作表中时,您需要先选择该工作表中的最后一个单元格,然后向下移动,这样您的新数据就不会覆盖以前的数据内容
  • 试一试上面的代码 - 将其添加到包含三张工作表的工作簿中,以及 Sheet1 和 Sheet2 中的任何类型的数据,然后尝试运行它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-05
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
相关资源
最近更新 更多