Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4682 / 13646 ツリー ←次へ | 前へ→

【55202】ユーザーフォームを閉じる時にExcelを表示させたいのですが しげ 08/4/22(火) 14:16 質問[未読]
【55203】Re:ユーザーフォームを閉じる時にExcelを表... マクロマン 08/4/22(火) 14:32 発言[未読]
【55204】Re:ユーザーフォームを閉じる時にExcelを表... しげ 08/4/22(火) 15:10 発言[未読]
【55205】Re:ユーザーフォームを閉じる時にExcelを表... マクロマン 08/4/22(火) 15:21 発言[未読]
【55206】Re:ユーザーフォームを閉じる時にExcelを表... マクロマン 08/4/22(火) 15:22 発言[未読]
【55207】Re:ユーザーフォームを閉じる時にExcelを表... しげ 08/4/22(火) 15:35 発言[未読]
【55209】Re:ユーザーフォームを閉じる時にExcelを表... yuu1 08/4/22(火) 16:13 回答[未読]
【55208】Re:ユーザーフォームを閉じる時にExcelを表... Yuki 08/4/22(火) 16:10 発言[未読]
【55210】Re:ユーザーフォームを閉じる時にExcelを表... しげ 08/4/22(火) 16:37 お礼[未読]
【55234】Re:ユーザーフォームを閉じる時にExcelを表... VBWASURETA 08/4/23(水) 10:24 発言[未読]
【55237】Re:ユーザーフォームを閉じる時にExcelを表... マクロマン 08/4/23(水) 12:13 発言[未読]

【55202】ユーザーフォームを閉じる時にExcelを表...
質問  しげ  - 08/4/22(火) 14:16 -

引用なし
パスワード
   お世話になっております。

初歩的な事かと思いますが、
Excelを起動したときは、Excelを最小化し、ユーザーフォームのみを表示する。
ユーザーフォームの閉じるボタンが押されたとき、ユーザーフォームのみを閉じ、
Excelを表示するようにしたいと思ったのですが、いろいろ試してみたところ、
ユーザーフォームは閉じて、Excelが表示されません。

どうすれば表示されるでしょうか?

以下、現在のソースです。

'=======================================================
'閉じるボタンをクリックしたとき
'=======================================================

Private Sub BtnClose_Click()
  
  '---ユーザーフォームを閉じる---
  Unload Me
    
End Sub


-------以下、ThisWorkbookのコード-------

'###起動時にエクセルを隠し、ユーザーフォームのみを表示###
Private Sub Workbook_Open()
  Application.Visible = True
  Application.WindowState = xlMinimized
  AppActivate Application.Caption
  MainForm.Show
End Sub

'###終了時に、ユーザーフォームを閉じ、Excelを表示###
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
  Application.WindowState = xlMaximized
End Sub

【55203】Re:ユーザーフォームを閉じる時にExcelを...
発言  マクロマン  - 08/4/22(火) 14:32 -

引用なし
パスワード
   >ユーザーフォームの閉じるボタンが押されたとき、

UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
では?

【55204】Re:ユーザーフォームを閉じる時にExcelを...
発言  しげ  - 08/4/22(火) 15:10 -

引用なし
パスワード
   試してみましたが、できませんでした・・。

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  
  Application.WindowState = xlMaximized
End Sub

ということでしょうか?

【55205】Re:ユーザーフォームを閉じる時にExcelを...
発言  マクロマン  - 08/4/22(火) 15:21 -

引用なし
パスワード
   ▼しげ さん:
>試してみましたが、できませんでした・・。
>
>Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
>  
>  Application.WindowState = xlMaximized
>End Sub
>
>ということでしょうか?

それでいけると思います。
ユーザーフォームの記述してますか?

【55206】Re:ユーザーフォームを閉じる時にExcelを...
発言  マクロマン  - 08/4/22(火) 15:22 -

引用なし
パスワード
   >ユーザーフォームの記述してますか?

ユーザーフォームに記述してますか?
でした。失礼しました。

【55207】Re:ユーザーフォームを閉じる時にExcelを...
発言  しげ  - 08/4/22(火) 15:35 -

引用なし
パスワード
   >マクロマンさん
何度も申し訳ありません。

ユーザーフォームに移してみましたが、出来ませんでした。
他の所に問題があるのでしょうか。。

【55208】Re:ユーザーフォームを閉じる時にExcelを...
発言  Yuki  - 08/4/22(火) 16:10 -

引用なし
パスワード
   ▼しげ さん:
>'=======================================================
>'閉じるボタンをクリックしたとき
>'=======================================================
>
>Private Sub BtnClose_Click()
>  
   ' 表示する
   Application.Visible = True
   Application.WindowState = xlMaximized
>  '---ユーザーフォームを閉じる---
>  Unload Me
>    
>End Sub
>
で、どうでしょう。

【55209】Re:ユーザーフォームを閉じる時にExcelを...
回答  yuu1  - 08/4/22(火) 16:13 -

引用なし
パスワード
   こんにちは。
>ユーザーフォームに移してみましたが、出来ませんでした。
>他の所に問題があるのでしょうか。。

QueryCloseイベントはユーザー フォームが閉じる前に発生しますから
そこで、Application.WindowState = xlNormal
等としてもだめでしょう。
Terminateイベントはオブジェクトがアンロードされたあとに発生しますので
ここに記述すればいいでしょう。

しかし、今回の場合だと
単に以下のかんじでいいのでは...

Private Sub Workbook_Open()
 Application.WindowState = xlMinimized
 AppActivate Application.Caption
 UserForm1.Show
 Application.WindowState = xlNormal 'xlMaximized
End Sub

【55210】Re:ユーザーフォームを閉じる時にExcelを...
お礼  しげ  - 08/4/22(火) 16:37 -

引用なし
パスワード
   >マクロマンさん
>yuuさん
>yukiさん

出来ました!
皆様いつもありがとうございます。

まだ理解しきれていませんが、何度も読んで完璧にします。

本当にありがとうございました。

【55234】Re:ユーザーフォームを閉じる時にExcelを...
発言  VBWASURETA  - 08/4/23(水) 10:24 -

引用なし
パスワード
   皆さんおはようございます。

解決されているようですが、マクロマンさんの回答で
気になったので書き込みします。


マクロマンさんの回答はフォームがモーダレスだったから
有効になってませんか?
多分、質問の方のフォームはモーダルなので閉じた後でなければ
有効にならないために変わらなかったのでは?と思います。

【55237】Re:ユーザーフォームを閉じる時にExcelを...
発言  マクロマン  - 08/4/23(水) 12:13 -

引用なし
パスワード
   >マクロマンさんの回答はフォームがモーダレスだったから
>有効になってませんか?

常にユーザーフォームはモーダレスで使ってるので気付きません
でした。ご指摘ありがとうございます。

4682 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free