首页 > 解决方案 > 如何复制工作簿中一个工作表/选项卡中使用的代码以在同一工作簿的另一个工作表/选项卡中创建报告

问题描述

假设已经使用宏在工作簿的工作表中创建了一个报表。我想在另一个工作表(选项卡)中的同一工作簿中创建另一个报告,该报告在 VBA 中使用完全相同的代码来创建已创建的报告。我如何复制这些代码并使这些代码在不同的工作表中工作以创建类似的报告?

标签: excelvba

解决方案


工作表本身中的任何代码都应该Me用来引用自身 - 这样,它在复制/复制时将起作用

任何其他代码都应将工作表作为参数或模块级对象进行操作:

Option Explicit

Sub CreateReport(TargetSheet As Worksheet)
    TargetSheet.Cells(1,1).Value = "Hello"
End Sub

或者

Option Explicit
Public TargetSheet AS Worksheet

Sub CreateReport()
    If TargetSheet Is Nothing Then Exit Sub 'In case the object has not been set
    TargetSheet.Cells(1,1).Value = "Hello"
End Sub

然后你可以复制一个“主”模板表,并运行宏来定位它


推荐阅读