我正在尝试运行一个在多个工作表上执行功能的宏。假设我已经在工作表 4 上分配了宏按钮。我已经列出了我希望它逐步执行的功能:
1) 选择工作表 4 中的某些单元格并复制到工作表 4 中的相邻单元格。
2) 删除工作表 3 中的单元格区域。
3) 剪切工作表 2 中的单元格范围,然后将该单元格范围粘贴到工作表 3 中。
4) 从单独的工作簿中获取单元格范围并复制到工作表 2 中。(我知道这是一个完全不同的问题,因为工作簿是自动发布的,我必须找到一种方法来链接两者。)
5) 更新位于工作表 4 和工作表 3 中的数据透视表。
我希望获得有关前 3 个功能的帮助。我已将当前代码粘贴在下面。
Sub START()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim sh3 As Worksheet
Dim sh4 As Worksheet
Set sh1 = ActiveWorkbook.Sheets("Brand")
Set sh2 = ActiveWorkbook.Sheets("CurrentWeek")
Set sh3 = ActiveWorkbook.Sheets("PriorWeek")
Set sh4 = ActiveWorkbook.Sheets("Pivot")
sh4.Range("B29:B30").Select
Selection.Copy
sh4.Range("C29").Select
ActiveSheet.Paste
sh3.Range("A4:AC1000").Select
Selection.Delete
sh2.Range("A4:AC1000").Select
Selection.Copy
sh3.Range("A4").Select
ActiveSheet.Paste
End Sub
它有效......但只有当我在正确的工作表中执行特定功能时它才有效。
通过删除select
, the selection
和activesheet
,您将能够使该工作表独立于
Sub START()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim sh3 As Worksheet
Dim sh4 As Worksheet
Set sh1 = ActiveWorkbook.Sheets("Brand")
Set sh2 = ActiveWorkbook.Sheets("CurrentWeek")
Set sh3 = ActiveWorkbook.Sheets("PriorWeek")
Set sh4 = ActiveWorkbook.Sheets("Pivot")
sh4.Range("B29:B30").Copy sh4.Range("C29")
sh3.Range("A4:AC1000").Delete
sh2.Range("A4:AC1000").Copy sh3.Range("A4")
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)