2016-07-04 8 views
0

私は、このプロジェクトが完了したときに2枚のシートを他人が記入するためのテンプレートとして保存しています。これらの2つのテンプレートは、Worksheets( "..")で隠されています。Visible = False。再開時にVBAを使用してコピーされたExcelシートが壊れています

If OptionButton2.Value = False Then 
 
     'kopiera mall 4v 
 
     Worksheets("Mall 4v").Visible = True 
 
     Worksheets("Mall 5v").Visible = True 
 
     ActiveWorkbook.Worksheets(2).Copy after:=ActiveWorkbook.Worksheets(Sheets.Count) 
 
     ActiveSheet.Visible = True 
 
     ActiveSheet.name = month & " - " & name 
 
     fourWeeks month, name, startWeek 
 
     Worksheets("Mall 4v").Visible = False 
 
     Worksheets("Mall 5v").Visible = False 
 
Else 
 
     ....
:この素敵なを作るために私の試みとして

は、2つのテンプレートを作成し、彼らはこの隠されたシートは、以下のようにコピーされ、名前が変更されますtemplete(通常数)を追加したいときには、それらを隠すためでした

ここでは、コピーシートはデフォルトで有効になっています。あなたが推測したように、このコピーはユーザーフォームの助けを借りて作成されます(問題がある場合)。

このコピーを作成した後でこの問題を解決すると問題が再発する可能性がありますが、新しいシートに何かが置かれると、毎回破損してしまいます。 Allso私はVBAメニュー(以前はコピーされたシートが壊れています)に3つのジャンクシートを持っていますが、私は削除や見た目を見ることができませんでしたが、コードはそこにあります。

私が問題を引き起こしているものを発見した
+0

ダウンロード[VBAクリーナー(http://www.appspro.com/Utilities/CodeCleaner:アイテムがdvlist dvlistから選択された

後自体を用いて除去しました。 htm)。古い破損したワークシートを修正する必要があります。コピーしたワークシートにコントロールがありますか? –

+0

Okey!ありがとう:) – Funkmaster

答えて

0

コピーされたファイルでは、私が選ばれたときにセルに入れている複数の文字列とのコンボボックスを持っており、これらの文字列のいずれかが、別のセルにデータ検証リストを作成します。このためのコードは以下の通りです:

Public Sub DDlist(ByVal week As Integer, ByVal day As Integer, ByVal indexOffset As Integer, ByVal Page As Integer) 
 
    Dim dvList As String 
 

 
    dvList = " Item 1, Item 2" 
 

 
    With ActiveWorkbook.ActiveSheet.Range(Cells(week + day + indexOffset, 3 + Page), Cells(week + day + indexOffset, 6 + Page)).Validation 
 
     .Delete 
 
     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
 
     xlBetween, Formula1:=dvList 
 
     .IgnoreBlank = True 
 
     .InCellDropdown = True 
 
     .InputTitle = "" 
 
     .ErrorTitle = "" 
 
     .InputMessage = "" 
 
     .ErrorMessage = "" 
 
     .ShowInput = True 
 
     .ShowError = True 
 
    End With 
 
End Sub

(未実際には項目1と項目2) 私は、この機能を削除することができたと私は本当に方法のようにそれが動作し、したいと思います...それを維持

・ホープ、この入力は

+0

DDlistはパブリックモジュールかワークシートモジュールですか? –

+0

これはシートにあり、コピーされたシートにあることを意味します。私はむしろVBAの新機能です。興味のあるものだけを扱っていますので、モジュールが何であるか分かりません。 – Funkmaster

+0

ActiveWorkbook.ActiveSheetは暗黙のために必要ありません。新しいワークシートを選択し、ctrl + F3を押します。これにより、名前マネージャが表示されます。元のワークブックへの参照があるかどうかを確認してください。 –

0

問題が解決される問題を解決することができます!

Private Sub Worksheet_Change(ByVal Target As Range) 
 
    Selection.Validation.Delete 
 
End Sub

関連する問題