比方说,已经使用宏在工作簿的工作表中创建了一个报告。我想在另一个工作表(选项卡)的同一工作簿中创建另一个报表,并使用VBA中完全相同的代码来创建已经创建的报表。如何复制这些代码并使它们在另一张纸上工作以创建类似的报告?
答案 0 :(得分:0)
工作表中的任何代码本身都应使用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
然后,您可以复制一个“主”模板表,并运行宏以其为目标