エクセルのマクロを使用して特定のシートを非表示にする方法

このQ&Aのポイント
  • エクセルのマクロを使用して特定のシートを非表示にする方法について説明します。マクロを使用することで、シートを表示させないようにすることができます。詳細な手順は以下の通りです。
  • まず、以下の構文をマクロに追加します。Private Sub auto_Open() Worksheets("Sheet1").Visible = xlVeryHidden End Sub
  • この構文を追加すると、Sheet1が非表示となります。次に、Sheet1の内容を変更したい場合は、上記の構文を削除する必要があります。ただし、VisualBasicEditorを開くとSheet1は表示されますが、BOOK自体にSheet1がなくなることはありません。
回答を見る
  • ベストアンサー

エクセルのマクロをしようして、特定のシートを表示させないようにしました

エクセルのマクロをしようして、特定のシートを表示させないようにしました。下記の構文です。 Private Sub auto_Open() Worksheets("Sheet1").Visible = xlVeryHidden End Sub これで、Sheet1は表示されなくなりました。次に、Sheet1の内容を変更しようとし、上記の構文を削除しましたが、Sheet1のシートが表示されません。VisualBasicEditorを開くと、Sheet1のシートは表示されていますが、BOOK自体にSheet1がなくなってしまいました。 非常に困っています。助けてください。もう、Sheet1はなくなっているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

下記を実行してみて下さい。 Worksheets("Sheet1").Visible = xlSheetVisible ちなみにVBEの画面のプロジェクトエクスプローラで見れば、Sheet1は存在するはずなので、Sheet1を選択し、プロパティでVisibleのところをxlSheetVisibleとしてもいいです。

その他の回答 (2)

  • mo2yakko
  • ベストアンサー率54% (30/55)
回答No.3

単に非表示にされているだけですので。 『書式(O)』⇒『シート(H)』⇒『再表示(U)』 すれば良いかと思います。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

関連するQ&A

  • VBAシートが消えたままになってしまいました

    シートを表示させないようにと以下の構文を書いたのですが。 構文を消去して、エクセルを立ちあげなおしても、表示できません。 Private Sub auto_Open() Worksheets("Sheet1").Visible = xlVeryHidden End Sub よろしくお願いします。

  • エクセルのマクロを有効にしないと表示しないようにする方法

    エクセルでマクロを有効にしないと、シートが表示されないように設定したいのですが、下記の様に(ほかの方の投稿から)入力すると三行目がエラーになります。素人なので、よくわかりません。どのようにしたら、マクロを有効にしないと全てのシートを表示しないようにできるのでしょうか? ご教授いただけますでしょうか Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets(\"Sheet1\").Visible = False Sheets(\"Sheet2\").Visible = False ActiveWorkbook.Protect Password:=\"error123\" End Sub Private Sub Workbook_Open() ActiveWorkbook.Unprotect Password:=\"error123\" Sheets(\"Sheet1\").Visible = True Sheets(\"Sheet2\").Visible = True Sheets(\"Sheet1\").Select End Sub

  • Excelで,特定のシートを開いたときにメッセージボックスを表示するに

    Excelで,特定のシートを開いたときにメッセージボックスを表示するには? Excelを使用しているときに,例えばSheet3を開いたとき,メッセージボックスが開くようにしたいです。 個人的に考えているのは,そのシートの「コードの表示」で現れるVisual Basicの部分に Private Sub Worksheet_Open() YesNo = MsgBox("メッセージ。よろしいですか?", vbYesNo) If YesNo = vbYes Then End If このようなマクロを入れるといいのかと思いましたが動きません。 どこが間違っているのでしょうか?

  • excelマクロボタンのリンク先の表示方法

    よろしくお願いします。 excel2010にてマクロボタンを設定し、特定のsheetに飛ぶよう設定しました。 ●そのボタンにマウスポインタを持って行った際にリンク先が表示されるように  することは可能でしょうか? ●このボタンをクリックしたらどこへ飛ぶか、というのがわかるようにしたいの  ですが、良い方法がありましたら教えてください。 お願いいたします。 Sub マクロ名() Workbooks.Open ThisWorkbook.Path & "\ファイル名.xls" Worksheets("シート名").Activate End Sub

  • マクロをマクロを使ってコピーしたい

    Excel2010です。 今、book1の各シート(ここでは"S1"で特定していますが、たとえばs1、s2、s3の3つがあるとします。)の左上隅「X」マークを右クリックすると出てくる「コードの表示」に以下の内容を記録しています。 ------------- Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "s1" Then Exit Sub Worksheets("s1").Range("e6") = Sh.Range("an7")   Worksheets("s1").Range("e9") = Sh.Range("bj7")   Worksheets("s1").Range("e10") = Sh.Range("br7") End Sub ------------- これをbook1のマクロ本体の実行によってbook1のシート"s1"を含むいくつかのシートのあるコピーbook2に、同じようにマクロでこの「Private Sub」をコピーしたいと思っています。どのようのすればいいでしょうか。 よろしくお願いします。

  • エクセル起動時に、オートオープンマクロでもう一つのエクセル(以下『マス

    エクセル起動時に、オートオープンマクロでもう一つのエクセル(以下『マスタ情報』と表示)が 連動して起動するように設定をしているのですが、この『マスタ情報』のエクセルが起動している 事実をユーザーに秘密にしておく設定は可能でしょうか?(保存先を知らせたくないためです)  ActiveWindow.Visible = False 『マスタ情報』のエクセルをアクティブにして上記のマクロ構文を付け加えれば確かにウィンドウが 非表示にはなるのですが、ユーザーにツール『ウィンドウ』の『再表示』メニューをクリックされて しまうと、せっかく非表示にした『マスタ情報』のエクセルが再表示されてしまいます。  Sheets(1).Visible = xlVeryhidden ユーザーに再表示させたくない対象のオブジェクトがシートの場合であれば、上記のマクロ構文で 解決できるのですが・・・  ActiveWindow.Visible = xlVeryhidden 上記マクロ構文を試してみたところ、エラーは発生しなかったのですが『マスタ情報』のエクセルは 非表示に設定されることなくマクロの処理が終了してしまいました。ブック(ウィンドウ)を完全に 非表示にする方法をご存知の方、是非教えて頂けますよう宜しくお願いします。

  • 指定したシートの行間の非表示

    通常のシートの行間の非表示設定では、ユーザーが再表示ができるので、指定した行の非表示をVBAのコードで記述したいのですが、うまくいきません。 以下のコードですと Sub 計算表の部分非表示() '計算表の部分非表示 Sheets("計算表").Select Worksheets("sheet1").Rows("5:22").Visible = xlVeryHidden End Sub インデックスエラー 有効範囲にありません とかエラーが出ます。 他に見せなくする方法はありますか? 図の固定をしてとかで隠す方法とか? でも、マクロを記述しているのでシート保護ではうまくいかないようです。 よい解決方法を教えて下さい。

  • エクセルのマクロをブック全体に

    マクロに関してはずぶの素人です、Q&Aのサイトで目的にかなったものを見つけ 設定したら結果は満足するものでした。 「シートを保護した状態で、グループ化の表示・非表示を切り替えるマクロ」 Sub Auto_Open() With Worksheets("Sheet1") .EnableOutlining = True .Protect UserInterfaceOnly:=True End With End Sub これをブック全体に反映できるマクロを教えて下さい。 ブック内のシート数は多いもので10シートほど、シート名は和英混合です。 ブックの数は40程有り全てのシートにマクロを設定するのは途方もなく 時間が掛かりそうで困っています。 当方のエクセルはExcel2007SP3です、宜しくお願いします。

  • EXCEL マクロ 

    お世話になります。 マクロは初心者です。 セルの数値を参照して、シートをアクティブにしたいのですが 下記のような繰り返しでシートが30ぐらいあるので、簡単な 表現に出来ないでしょうか。 宜しくお願いします。 Private Sub Workbook_Open() If 0 <= Worksheets(4).Range("M1") < 7 Then Worksheets(4).Activate End If If 0 <= Worksheets(5).Range("M1") < 7 Then Worksheets(5).Activate End If If 0 <= Worksheets(6).Range("M1") < 7 Then Worksheets(6).Activate End If If 0 <= Worksheets(7).Range("M1") < 7 Then Worksheets(7).Activate End If If 0 <= Worksheets(8).Range("M1") < 7 Then Worksheets(8).Activate End If If 0 <= Worksheets(9).Range("M1") < 7 Then Worksheets(9).Activate End If End Sub

  • エクセルのマクロの記述について

    VBA初心者ですのでどうか詳しく教えてください。下記のマクロをエクセルで組んだのですが・・・ -------------------------------------------------------------------- Sub hideworksheets() Worksheets("sheet1").Visible = False End Sub Sub ボタン_Click() ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet3").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Sheets("sheet4").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub ------------------------------------------------------------ 1.上記設定で"sheet5"という別シートにボタンを設置した場合、このボタンを実行すると、シート1~4のほかにシート5まで印刷されてしまいます。シート5を印刷したくない場合のVBAの記述について教えてください。 2.「Sub hideworksheets()  Worksheets("sheet1").Visible = False    End Sub」    の箇所で、シート1を非表示にしたいのですが、このマクロを実行時、「Sub ボタン_Click()」以下のマクロを実行しようとすると、「実行時エラー1004 worksheeクラスのselectメソッドが失敗しました」のエラーがでてしまいます。シート1を非表示にし、無事印刷のマクロを実行する為の記述を教えてください。

専門家に質問してみよう