質問: False End Sub ``` 「Sheet1」があるのにも関わらず、上記のようなエラーが出ます。 どうすれば「Sheet1」を非表示にできるのでしょうか?
回答: まず、Workbooks("Book2.xlsm")でワークブック本体を取得するには、そのファイルを開いていないとダメです。 そしてWorksheetsには名前ではなくindexを渡します。つまり何番目のシートかという数字です。 1番目のシートであれば`.Worksheets(1)`でOKです。 ※一般的な言語の配列のように0から始まりません。 そしてもう一つ注意点。 Excelでは全てのシートを非表示にできません。 なのでSheet1しかそのファイルに存在していない場合、なんぼがんばっても非表示にできません。 もう一つシートを追加してやれば非表示にできるハズです。 今調べてみたらWorksheets("名前")でも行けるみたいですね...出直してきます。( ́・ω・`) どうやら、ファイルを開いてないと`実行時エラー'9'`が出るみたいです。 とりあえず、メソッドチェーンを使わずに、どの段階でエラーが起きているのか特定するのが良いかと思います。以下のようにして実行するとドコで落ちるでしょう? ``` Sub Test() Dim wb As Workbook Set wb = Workbooks("Book2.xlsm") Dim ws As Worksheet Set ws = Worksheets("Sheet1") ws.Visible = False End Sub ```