• ベストアンサー

WorkSheetの終了時にVBAを実行する方法

tamazo-の回答

  • ベストアンサー
  • tamazo-
  • ベストアンサー率60% (35/58)
回答No.1

終了時の実行は、 Sub auto_close() end sub に記述。 標準メニューバーを消すのは、 Application.CommandBars("Standard").Visible = False だと思います。

関連するQ&A

  • EXCEL VBAをWEB上で実行した場合の終了方法

    EXCEL VBAをWEB上で実行し終了する(EXCELを表示しているブラウザを閉じる)方法はありますか? ローカルでEXCELを直接実行した場合は、以下の方法で出来るのですが、Web上では動作しません。 Application.DisplayAlerts = False Application.Quit また、×ボタンでブラウザを閉じようとすると「変更を保存しますか・・・」の確認ウィンドウが表示されてしまいます。 内容を参照させるだけなので、終了ボタンを押したら、変更を保存せずに終了したいのですが、ご存知の方いらっしゃいましたらご教授お願いします。

  • Access終了時にマクロまたはVBAの実行したい

    Access初心者です。 Accessを起動するときにマクロを実行する方法として「autoexec」がありますが、終了時にマクロまたはVBAを実行する方法がありますか教えてください。(Access終了時に自動的にバックアップを取るようにしたいため。)

  • エクセルのVBA実行中の進捗バーについて

    こんにちは! エクセルのVBA実行中の進捗バーについて押し終えてください。 よくあるソフトのインスト時に表示されるインストの進捗バー?とほぼ同じ者をエクセルVBA実行時にもでるようにしたいのですが・・・ 方法を教えてください。

  • エクセルVBAで数式バー再表示後保存して終了

    あるワークブックで、ひとつひとつのセルの内容が長いため、そのワークブックを開くと数式バーが非表示になり、閉じるときは再表示にしてから閉じたいのです。 今はとりあえず、コマンドボタンを二つ作って、ひとつは数式バーの非表示、もうひとつは数式バー再非表示後終了用としたいと思っています。 非表示は、マクロの記録で、簡単にできるのですが、再表示後終了ができません。 Application.DisplayFormulaBar = True ActiveWorkbooks.Close 上の用にVBAに記述すると、「実行時エラー 424 オブジェクトが必要です」と表示されてしまいます。 どのように変えればいいのでしょうか? また、一番の希望は上に書いたように、そのワークブックを開くと数式バーが非表示になり、閉じるときは再表示にしてから閉じたいのですが、VBAでそのようなことは可能でしょうか? もし可能なら、教えていただけるとうれしいです。よろしくお願いします。

  • Access2000で最適化をVBAで実行できますか?

    Access2000のメニューから操作する「最適化」をVBAで実行できませんか? データ(レコード)を削除したときなど、終了時に自動実行させたいのですが。 (オプションで設定すると、常に実行されるので) よろしくお願いいたします。

  • 入力者にメニューバーや終了ボタンを使わせない方法?

    エクセルのVBAで入力プログラムを作っています。入力者には数字の入力とリストボックス・ボタンだけで操作をさせたいと思うのですが、メニューバー・ツールバー・終了ボタンを使わせない方法があれば教えてください。よろしくお願いします。

  • VBAで実行時エラー1004が出ます

    VBAで実行時エラー1004が出ます。 「Rangeメソッドは失敗しました。Worksheetオブジェクト」です。 あらゆる可能性を調べたのですが、分かりません。誰か教えて頂けますでしょうか? 下記コードの「Cells(m, 7) =・・・」の部分がエラーになりました。 Sub ボタン1_Click() Dim 現シート As Worksheet ~ 現シート.Activate Cells(m, 7) = WorksheetFunction.VLookup(現シート.Range(現シート.Cells(m, 4)).Select, 現シート.Range(現シート.Cells(4, 104), 現シート.Cells(15, 107)).Select, 4, False) ~ End Sub 何卒宜しくお願いいたします。

  • 【VBA】 VBAを使ってExcelにSendMessageしてメニューを実行したい

    エクセルにおいて、VBAを使ってExcelに対してSendMessageをおこないメニューを実行したいのですが、メニューのSendMessageの引数WPARAMとLPARAMに 何を渡せば良いのでしょうか?SPY++を使ってメニューを実行したときにExcelに送られるWM_COMMANDを監視していましたがWM_COMMANDが見つかりませんでした。 ご存知の方、ご教授お願いします。 ちなみに、オートシェイプ選択時に「書式」-「オートシェイプ」メニューを実行し、書式設定ダイアログが表示され、オートシェイプの書式設定を変更するのが目的です。(VBAを使って書式設定のダイアログを表示する必要あり) SendKeysステートメントを使ってやってみましたがダメでした。この場合、モードレスダイアログに書式設定するコマンドボタンを配置し、そのボタンをクリックしたときにSendKeysを実行するもので、モードレスダイアログを表示している間はキーがモードレスダイアログに送られると判断してSendKeysの使用はやめました。

  • VBAのマクロ(フォーム型)をボタンで押して表示する方法

    VBA(エクセル)でマクロを作成しました。メニューバーにマクロボタンを追加する為に、メニューバー右クリック→ユーザ設定→ユーザ設定ボタン(マクロ)をし設定したのですが、設定した端末でエクセルを開くとちゃんとマクロボタンがメニューバーに表示されているのですが、別の端末でファイルを開くとボタンが表示されません。端末毎にマクロボタンを設定しないといけません。マクロボタンをどの端末から開いても表示するように設定する事は可能でしょうか?

  • エクセル2003で作成したVBAを2007で使用したい

    エクセル2003で下記のようなVBAを作成していました。 作成した物を使用者が印刷設定を変更できないように ブックを開くと同時に印刷ボタンなどを非表示にしていたのですが・・・ 2007でも使用出来るようにしたいと思ったのですが 2007ではこのままではエラーが出てしまうようです。 2007はまったく扱ったことがないのでどのようにすればよいかわかりません。 どなたかご教授いただけたらと思います。 Private Sub Workbook_Open() Application.DisplayStatusBar = False 'ステータスバー非表示 'ブックを開く時ページ設定と印刷を非表示 On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)") _ .Controls("ページ設定(&U)...").Enabled = False Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)") _ .Controls("印刷(&P)...").Enabled = False Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)") _ .Controls("印刷プレビュー(&V)").Enabled = False Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)") _ .Controls("印刷範囲(&T)").Enabled = False Application.CommandBars("Standard").Enabled = False End Sub