指定到其他工作表按钮的VBA宏未正确引用Master Sheet的Range范围
问题原因与修复方案
问题根源
你写的With Worksheets("Master Sheet")块完全没起作用——因为所有Range调用前都没加.,这些Range会默认绑定当前活动工作表(也就是按钮所在的Summary_QC),而非你指定的Master Sheet。
修复要点
- 给所有
Range前加上.,让它归属到With块指定的工作表 - 删掉冗余的
Select和Selection操作,直接对单元格区域执行复制粘贴,避免活动工作表切换带来的问题,同时提升代码效率
修复后的完整代码
Sub Macro2() With Worksheets("Master Sheet") ' 复制CC25:CE33到CC44开始的区域 .Range("CC25:CE33").Copy .Range("CC44").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False ' 复制CC21到CC40 .Range("CC21").Copy .Range("CC40").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False ' 复制CC6:CE14到CC25开始的区域 .Range("CC6:CE14").Copy .Range("CC25").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False ' 复制CC2到CC21 .Range("CC2").Copy .Range("CC21").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False ' 清除剪贴板内容,避免弹窗提示 Application.CutCopyMode = False End With End Sub
内容的提问来源于stack exchange,提问作者tthom
相关产品推荐
相关产品推荐

