質問: False ' 処理実行(一旦これはしない) ' Module1.Sample wb.Save wb.Close End Sub ```
回答: ブックが開けない件について `.Visible = False`の状態でブックを保存しているので、Excelを終了させてブックを開きなおしてもこの状態が保存されてしまっており、見えないブックになっているものと思います。 保存前には`.Visible = True`に戻してあげれば解消されるのではないでしょうか。 また、ブックは「開いても見えない状態」になっているだけで、ちゃんと開けてはいると思います。 VBEditor画面のプロジェクトエクスプローラーのツリーには開けないはずのブックも見えているのではないでしょうか? 見えなくなってしまったブックに下記のようなマクロを作成して実行すれば、とりあえず見える状態に戻すこともできます。 ``` Sub 見える化() Windows(ThisWorkbook.Name).Visible = True End Sub ``` ActiveWorkbookについて ボタン1をクリックしたあと、何も触らずおとなしく眺めているのであれば、通常は`最後に開いたブック`が`ActiveWorkbook`として参照されます。 しかし、目的のブックを開くのにちょっと時間がかかったりすると、ユーザーは別のブックを開こうとしたり、既存で開いてあった他のブックをアクティブにしたりしてしまうのが常です。 せっかくブックをオープンしたときに`wb`という名前の変数に格納しているのですから、Module1.sampleマクロにもこの`wb`を渡してあげて、対象ブックを明確にした処理にしたほうが確実だと思います。 参考になれば幸いです。