- ベストアンサー
VBA
VBEの標準モジュール(例Module1)にVBAのプログラムを書き、 実行した時、ワークシート(例Worksheets(”sheet1”)のウインドウを自動的に開くには(前面に持ってくるには)どのようにコーディングすれば良いのでしょうか。今は実行後確認するため、プロジェクトのSheet1で右クリックして「オブジェクトの表示」でSheet1を出したり、タスクバーをクリックしていますが。まずSheet1を前面に出して処理をしたい。Activate,Select、Showなど試しても効果がありません。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ブックやシート間での問題ではなく、Excel のウィンドウそのものを VBE のウィンドウの手前に表示したい、ということでしょうか? だとすれば手動で切り替えるはごくあたりまえのように思います。 一応次のような方法が考えられます。違っていたら補足してください。 ・VBE からではなく Excel のウィンドウからマクロを実行する ・VBE のウィンドウを最小化する (もちろん自動で元には戻りません) Application.VBE.MainWindow.WindowState = vbext_ws_Minimize ・SetWindowPos で Excel のウィンドウを最前面にする (ただし最前面になりっぱなし)
その他の回答 (4)
- O_cyan
- ベストアンサー率59% (745/1260)
Moduleはコンパイルしたんですよね?
- O_cyan
- ベストアンサー率59% (745/1260)
Selectで表示できるのでは? Sub ?????() Sheets("Sheet1").Select End Sub 単純に上記で良いと思いますが。
お礼
早速ご解答有難うございました。以前からご解答のようにもテストしているのですが、Moduleのコードの画面が、実行をクリックしても、ワークシートの画面に切り替わりません。どこか設定を変える必要が有るのでしょうか。今回もテストしましたがワークシートの画面になりません。エクセル2000です。
- yu-mizu123
- ベストアンサー率37% (67/180)
Sheets("Sheet1").Select 〈Select〉または〈Activate〉でもよいです。 例 シート3のC12のセル選択 Sheets("Sheet3").Activate Range("C12").Activate 〈Select〉または〈Activate〉でもよいです。
お礼
早速ご解答有難うございました。解答のようにテストしましたが、実行をクリックしても、ワークシートの画面に切り替わりません。どこか設定を変える必要が有るのでしょうか。思い当たる節があれば教えてください。
- baka
- ベストアンサー率83% (15/18)
Activate メソッドで表示されるはずですが。 ThisWorkbook.Sheets("Sheet1").Activate 対象となるオブジェクトがきちんと指定されていないのでは?
お礼
ご回答有難うございました。お礼が送れて失礼しました。 ただ教えていただいたとおりやって、実行をクリいクしましたが、VBEの画面のままです。今後もこの件につき勉強していきます。有難うございました。
お礼
ご解答有難うございました。2番目の方法もコピーし 実行しましたが、VBEの画面のままでした。 今後も勉強して行きます。