• ベストアンサー

こんばんわ

こんばんわ 宜しくお願いします エクセルを開くときに、ユーザーフォームを表示するようにしています。 しかし、ユーザーフォームを表示する前に、前回閉じたときのワークシートが 一瞬表示されます。 機能的に問題はないのですが、見栄えが悪いので、この表示をさせないようにできないでしょうか。 Sub Workbook_Open() 表紙.Show End Sub

  • 1211M
  • お礼率54% (90/165)

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

  • ベストアンサー
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.2

詳細未調査ですが。 前回閉じたときのワークシートが表示される現象自体は、(閉じる際に自動で保存しているのでしょうか?)保存時に開いていたワークシート情報など(選択セル等も)が残るExcelの機能が原因だと思われます。 終了時に、次回起動時に表示されたい状態に初期化して保存するようにすれば、回避できるのではないかと思います。 プログラム用のワークブック(VBAを記述するワークブック)と、データ用のワークブック(VBAから操作されるワークブック)と分割するという方法もよく使われます。 ※質問の内容を回避するためだけに使われる手法ではありませんが、分割することで回避される事は事実です。

1211M
質問者

お礼

お礼が遅くなりすみません ありがとうございました。 分割してみます。

その他の回答 (1)

回答No.1

機能には問題ないなら、どうでもいいと、思います。 どうしても気になるなら、修理に、出せば言いと見ますよ(・‐・)。

1211M
質問者

お礼

お礼が遅くなりました ありがとうございました。

関連するQ&A

  • 【パワーポイント】「ファイルを開いたら」vbaの実行したい

    ファイルを開いた時にユーザーフォームを表示させたいのですが どうすればいいですか? エクセルでいうなら Sub Workbook_Open() UserForm1.Show End Sub をしたいです。よろしくお願いします。

  • 他のブックが開くと同時にユーザーフォームを表したい

    Aブックから他のブックが開いた時、ユーザーフォームを表示したいので 次のコードでやってみたが、なぜか表示されません。ご教示お願いします。 AブックのThisworkbookに入力しました。 (1)Private Sub Workbook_Open() A表紙.Show End Sub A表紙にコマンドボタンをつけました。 (2)Private Sub CommandButton96_Click() A表紙.Hide Workbooks.Open Filename:=ThisWorkbook.Path & "\2年施設\計算プログラム.xlsm" Sheets(1).Select End Sub 開いた”改善プログラム”のThisworkbookに入力しました。 Private Sub Workbook_Open() UserForm1.Show End Sub

  • 【至急お願いします】ExcelVBAユーザーフォームについての質問です。

    Excelファイルを開くと同時にサンプルという名前のユーザーフォームを開いて任意の位置に配置する様に作り、イントラネットで公開しています。 デスクトップに保存して開くとシートの全面にユーザーフォームが前面に来ますが、イントラから開くとシートが全面に来て、ユーザーフォームが隠れてしまいます。デスクトップ上から開くのとイントラ上から開くのはどう違うのでしょうか?又、解決可能でしょうか? ”Thisworkbook”に下記の様に記載しています。 Private Sub Workbook_Open() サンプル.Show vbModeless With 返済率計算 .StartUpPosition = 0 .Top = 250 .Left = 350 End With End Sub 環境は WindowsXP Excel2002 東芝dynabook です。 宜しくお願いします。

  • 隠していたユーザーフォームを再び表示したい

    ExcelVBA をExcel2007で苦戦している初心者です。 マクロ記載のAブックとBブックを使っています。 Aブックのユーザーフォーム「表紙」にあるボタンをクリックして Private Sub CommandButton11_Click() 表紙.Hide Workbooks.Open Filename:=ThisWorkbook.Path & "\改善案.xlsm" Sheets(1).Select End Sub Bブック(改善案)に飛び、作業後これを閉じ、Aブックに戻したいです。 Aブックは、まだ閉じてはいません。 同時に、ユーザーフォーム「表紙」を再表示したいです。 Private Sub CommandButton2_Click() Unload UserForm1 Application.DisplayAlerts = False ThisWorkbook.Close Application.DisplayAlerts = True 表紙.show End Sub すると次のエラーが表示され 「コンパイルエラー 変数が定義されていません」 表紙.showの表紙が反転表示されます。 Aブックに戻ったときにユーザーフォーム「表紙」を表示するには どうしたらよろしいでしょうか。よろしくお願いします。

  • ExcelのVBAについてです。

    Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) UserForm1.Show End Sub というコードで、シート上で右クリックしたら、ユーザーフォームを表示するようにしたんですが、ユーザーフォームを閉じると右クリックメニューが出てきます。これを出なくするにはどのようにしたらいいのでしょうか。教えてください。よろしくお願いします。

  • vbsでexcelファイルを開いた時とダブル

    お世話になっています。 vbsでexcelファイルを開いた時と、ダブルクリックでexcelファイルを開いた時とで表示するフォームを変えたいのです。 どうしてもうまくいきませんので、教えてください。 「起動.xlsm」というexcelファイルに「検索画面」「登録画面」という2つのユーザーフォームがあります。 excelの立ち上げ方法によってこの2つのフォームをどちらを起動時に立ち上げるかを決定したいのです。 1. vbsファイルの上に任意のファイルをドラッグさせた時には ’vbsには oApp.RUN "SHOW_Form_登録画面" ’excelには Sub SHOW_Form_登録画面() 登録画面.Show End Sub として登録画面を表示させています。 2. 「起動.xlsm」をダブルクリックした時には Private Sub Workbook_Open() 検索画面.Show End Sub として検索画面を表示しています。 どちらも単体では動きますが、両方を書き込むと どちらの方法をとっても検索画面が前面に立ち上がってしまいます。 どうしたら希望のことができるでしょうか? いったん表示させた「検索画面を閉じる」ということでもかまいません。 すいませんが、教えていただけると助かります。

  • VBA_UserFormの初期値

    毎度お世話になっております。 UserFormを開いた時に、UserForm内にあるTextBoxに初期値として 文字を入れたいのですが、表示されません。 原因が判りません。判りましたらご教授お願いします。 プロジェクトの状況 ワークシート3枚(内コード有1枚 シート名:表紙) フォーム2つ(フォーム名:UF1・UF2) 表紙にあるAボタンを押したらUF1が開くBでUF2が開くようなマクロです。 シート"表紙"コード Private Sub CommandButtonA_Click() UF1.show End Sub UF1(コード) Private Sub UF1_Initialize() TextBox.Value="文字" End Sub "文字"をUF1フォーム内に最初から出したいと考えてます。 宜しくお願いします。

  • ファイルを開くと同時にユーザフォームを表示させたい

    Excelでファイルを開いたとき、自動的にユーザフォームを表示させるにはどのようにするのでしょう。下のコードを標準モジュールに書きました。「オブジェクトが必要です」のエラーメッセージが出てしまいます。 何を変えればいいのかお教えください。(Excel2002) Sub Auto_Open() UserForm1.Show End Sub

  • UserForm1.Showでエラーになります。

    Thisworkbookのところで Option Explicit Private Sub Workbook_Open() UserForm1.Show End Sub と記述するとUserForm1.Showでエラーになります。 どうすればよいでしょうか。 Excel2013で開発しています。

  • ユーザーフォームが表示前にエラーになります。

    お世話になります。 Excelのシート上にコマンドボタンを配置して それをクリックするとユーザーフォームが表示されるようにしたいのですが、下記のコードだと「フォーカスがありません」と1行目でエラーで止まってしまいます。 解決方法を教えてください。 Private Sub コマンドボタン_Click() ユーザーフォーム.Show End Sub よろしくお願いします!

専門家に質問してみよう