复制范围,但隐藏形状里面

是否有可能通过VBA在Excel中复制范围,但在里面的形状,隐藏? 我试图隐藏形状,select范围,然后再次显示,但select“保持打开”可以这么说,直到它被粘贴,所以形状出现。 是否有可能立即将其放入剪贴板,然后再显示? 这是我试过的:

Sub copyIt() lastRow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row lastColumn = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column For Each Shape In ActiveSheet.Shapes Shape.Visible = msoFalse Next ActiveSheet.Range(Cells(1, 1), Cells(lastRow, lastColumn)).Copy For Each Shape In ActiveSheet.Shapes Shape.Visible = msoTrue Next End Sub 

尽量避免在复制粘贴之间放置任何代码。 说我们开始:

在这里输入图像描述

我们会:

  • 隐藏形状
  • 执行复制/粘贴
  • validation形状是隐藏的
  • 取消隐藏形状
  • validation形状是与单元格一起复制的

    Sub Shapee()Dim r1 As Range,r2 As Range Dim Sh As Shape Set r1 =范围(“A1:F14”)设置r2 =范围(“H1”)

     For Each Sh In ActiveSheet.Shapes Sh.Visible = msoFalse Next r1.Copy r2 MsgBox "INSPECT SHEET" For Each Sh In ActiveSheet.Shapes Sh.Visible = msoTrue Next MsgBox "INSPECT SHEET AGAIN" 

    结束小组