【问题标题】:How to replicate a sheet using VBA Macro (not copy) replicate如何使用 VBA 宏(非复制)复制工作表
【发布时间】:2016-04-03 22:34:34
【问题描述】:

如何使用 VBA 宏复制工作表而不使用 VBA 复制方法?

所以我希望 Sheet2 在之后看起来与 Sheet1 完全一样。

我是 VBA 宏的新手,所以请指导我。

【问题讨论】:

  • 复制有什么问题? ThisWorkbook.Sheets("Sheet1").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
  • @SiddharthRout 我不想使用复制。你能告诉我另一种方式吗?
  • 是的,还有另一种方法,但您能确认一下为什么不想使用.Copy。我真的很感兴趣。
  • @SiddharthRout 我想看看哪种方式更适合我。请告诉我另一个方向。
  • 出于好奇,您能回答上面 Sid 的问题吗? (即,为什么不能使用副本)。我之所以问,是因为 copy 正是为此目的而设计的,并且想知道它没有捕获什么以及在哪种情况下。谢谢!

标签: excel vba


【解决方案1】:

这里有几种方法

方式 1 最佳方式

ThisWorkbook.Sheets("Sheet1").Copy _
After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

方式 2

Sub Sample()
    Dim wsToCopy As Worksheet, wsNew As Worksheet

    On Error GoTo Whoa:

    Set wsToCopy = ThisWorkbook.Sheets("Sheet1")
    Set wsNew = ThisWorkbook.Sheets.Add

    wsNew.Name = "Copy of " & wsToCopy.Name

    wsToCopy.Cells.Copy wsNew.Cells

    Exit Sub
Whoa:
    MsgBox Err.Description
End Sub

注意:

如果您使用的是 Excel 2003,那么 WAY 2 可能是最好的方法,具体取决于数据。请SEE THIS

【讨论】:

  • 这个还是用copy的方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多