2017-10-12 2 views
1

私は7つの四角形のシートを持っています。各四角形にはマクロが割り当てられており、 。 このようなシートが多数あり、それらをすべて隠しておきたいです。隠しシート(マクロが割り当てられている図形を含む)を別のシートにコピーし、シートを後ろに隠す

ここで、シート1のようなシートを再表示したい場合は、シェイプとそれぞれのマクロを含むすべてのコンテンツをまったく同じフォーマットでコピーし、シート3に貼り付けてシート1を再び非表示にします。

私は次のコードでこれを試しましたが、何らかの形でオブジェクトとフォーマットがコピーされません。

Sub abcd() 
     Dim ws As Worksheet 
     Set ws = Sheets("Sheet2") 
     ws.Visible = xlSheetVisible 
      ws.Select 

      Selection.Copy 

     Dim rs As Worksheet 
     Set rs = Sheets("Sheet4") 
      rs.Select            
      ActiveSheet.Paste 
      Application.CutCopyMode = False 
End Sub 

どうすればこの問題を解決できますか?

答えて

0

あなただけではなく、選択シート全体をコピーする必要があります:私は内部のシートのプログラミング名を使用しています

'// get the sheet to be copied 
Dim ws As Worksheet 
Set ws = Sheet1 


'// copy it and position before, say sheet5 
ws.Copy Before:=Sheet5 

'// get a reference to the new sheet 
Dim WSNew as worksheet 
Set WSNew = Sheets(Sheet5.Index - 1) 

'// Give the sheet a new name and make it visible. 
WSNew.Name = "New name" 
WSNew.Visible = xlSheetVisible 

注、その名 - しない表示は、ユーザーが内部を変更することはできませんように、より信頼性があります名前を変更することはできますが、シートの[プロパティ]タブで変更できます。

また、コピーされたテンプレートシートだけを表示する必要はありません。

関連する問題