2016-05-17 17 views
1

Microsoft Excel 2010にはSheet1、Sheet2、Sheet3があります。VBAを使用してシートを非表示にするにはどうすればよいですか?

シート1では、ページがロックされています。 Sheet3を参照するフィールドが含まれています。

たとえば、A2のSheet1には「名前」というタイトルが付けられ、B2にはSheet3!B2があります。

Sheet3では、A2は「名前」というタイトルで、B2はユーザーが入力しない限り空白です。もちろん、Sheet3のセルB2はSheet1に自動入力されます。

シート3には、住所や電話番号などのユーザーが編集できるより類似したフィールドがあります。しかし、Sheet3を非表示にするボタンを作成してSheet3を非表示にしたいと思います。私はこのファイルを電子メールで送ってきた人々に、このシート3をすべての情報とともに見ることを望んでいません。それは自動システムを混乱させるでしょう。

情報が特定のフィールドに入力された後にシートを隠すコードがいくつか見つかりましたが、そのコードをボタンに適用する方法がわかりませんでした。このボタンの目的は、私のユーザー全員が技術に精通しているわけではないので、簡単にシートを隠すことができます。ボタンはSheet3上にも移動します。

ボタンを使用してVBAに変換することを誰かが知っている場合に役立つコードが見つかりました。このコードは、B6とB7は、シートを隠すと言います。私は本当にこのほとんどの公式のボタンクリックコマンドを使用する方法を失っています。

Sub ShowHideWorksheets() 
Dim Cell As Range 
For Each Cell In Range("B6:B7") 
ActiveWorkbook.Worksheets(Cell.Value).Visible = Not 
ActiveWorkbook.Worksheets(Cell.Value).Visible 
Next Cell 
End Sub 

答えて

2

ほとんど、試してみてください。

ActiveWorkbook.Worksheets(Cell.Value).Visible = xlSheetHidden 

たり、シートを非表示にする場合ではなく、ユーザーが隠されたシートコレクションでそれを見ることができるように:

ActiveWorkbook.Worksheets(Cell.Value).Visible = xlSheetVeryHidden 
関連する問題