
あるワークブックで、ひとつひとつのセルの内容が長いため、そのワークブックを開くと数式バーが非表示になり、閉じるときは再表示にしてから閉じたいのです。
今はとりあえず、コマンドボタンを二つ作って、ひとつは数式バーの非表示、もうひとつは数式バー再非表示後終了用としたいと思っています。
非表示は、マクロの記録で、簡単にできるのですが、再表示後終了ができません。
Application.DisplayFormulaBar = True
ActiveWorkbooks.Close
上の用にVBAに記述すると、「実行時エラー 424 オブジェクトが必要です」と表示されてしまいます。
どのように変えればいいのでしょうか?
また、一番の希望は上に書いたように、そのワークブックを開くと数式バーが非表示になり、閉じるときは再表示にしてから閉じたいのですが、VBAでそのようなことは可能でしょうか? もし可能なら、教えていただけるとうれしいです。よろしくお願いします。
No.3ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。数式バー表示・非表示の設定は再設定されるまで継承されます。
例えば、Workbook_Open とか Auto_Open で数式バーを非表示にして
しまうと、同時に複数のブックを開くと分かりますが、全てのブック
で数式バーが消えてしまいます。
したがって、Activate と Deactivate イベントに書いた方が良いと
思います。
また、ブック全体で、あるいは特定シートだけで、、といった制御の
必要な部分によってマクロを書く場所が異なります。
例えば、特定ブックだけで数式バーの表示を操作するなら
'【Thisworkbook モジュール】
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.DisplayFormulaBar = False
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.DisplayFormulaBar = True
End Sub
例えば、特定のシートだけで数式バーの表示を操作するなら
'【シートモジュール】
Private Sub Worksheet_Activate()
Application.DisplayFormulaBar = False
End Sub
Private Sub Worksheet_Deactivate()
Application.DisplayFormulaBar = True
End Sub
こんな方法もあるのですね。
確かに、他の方法では、他のブックにも影響が出ますね。だから、おっしゃるように、アクティブブックだけで、数式バーが表示になれば、いうことはないです。
で、やってみました。いいです、これ!
ほんと助かりました。これでとっても便利に使うことができます。ありがとうございました。
No.2
- 回答日時:
登録する「イベント」を適切に選択すれば、ご希望の動作になります。
> 非表示は、マクロの記録で、簡単にできるのですが
ツール → マクロ → VisualBasicEditor を開くと、上記のマクロは
「WorkBook_Open」に記述されていると思います。
(エディタの右上にあるコンボボックスの表示を確認)
その状態から、コンボボックスの中の「Workbook_BeforeClose」を
選択すると
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub
こんな表示が出ますので、このPrivate~End Subの行の間に
Application.DisplayFormulaBar = True
と記述してあげればOKです。
非表示をマクロの記録を使ってVBに記述させた場合、
「WorkBook_Open」に記述されているのではなく、標準モジュールの中に記述されていました。
で、
sub WorkBook_Open
end sub
this workbook の中に記述すると、おっしゃるようにエディタの右上にあるコンボボックスの中にいろいろなイベントが選べるようになりました。
そして、そのいろいろなイベントのところに、実行したいコマンドを記述すればいいのですね。
なるほどーー。忘れていたことが、大分蘇ってきました。ありがとうございました。
No.1
- 回答日時:
>ActiveWorkbooks.Close
ActiveWorkbook.Close ですね。
マクロで終了させなくても、普通の終了方法で設定を変更させる事が出来ます。
標準モジュールの
Auto_Open()
Auto_Close()
若しくは、ThisWokbook イベントの
Workbook_Open()
Workbook_BeforeClose(Cancel As Boolean)
に、表示・非表示のマクロを記述すると自動的に実行してくれます。
早速教えていただいて、ありがとうございます。
できましたーー。(^-^)
それから、ActiveWorkbooks.Close ではなくて、ActiveWorkbook.Close なのですね。ひとつしかブックを開けていないのに、複数にしたのがいけなかったのですね。なるほどーー。
あと、標準モジュールに
Sub Auto_Open()
Application.DisplayFormulaBar = False
End Sub
と、
Sub Auto_Close()
Application.DisplayFormulaBar = True
End Sub
を付け加えたら、うまくいきました。
あと、ThisWokbook イベントの中に記述しても、いけるのですね。
大分前に少しだけ、かじったことがあって、確かそういうのもあった気はしていたのですが、これで、はっきりしました。とっても助かりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
- Excel(エクセル) エクセルでセルに数式を入力した状態で、数式バーをクリックすると添付資料のように 「数式に関連するセル 2 2022/11/25 19:36
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- その他(Microsoft Office) Excel2019と365、2021 2 2023/07/08 06:22
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロボタンが編集...
-
Application.Runエラー(1004)
-
別シートのマクロを実行する方法
-
Access終了時にマクロまたはVBA...
-
エクセルVBAで、ボタンの文字を...
-
private sub にしたらマクロが...
-
シート保護を掛けたまま並べ替...
-
マクロ 戻るボタンを押したらシ...
-
エクセルのマクロ
-
マクロとモジュールの違いを教...
-
特定のシートだけ印刷はマクロ...
-
access2010 コマンドまたはアク...
-
ExcelのVBAでDisplayalertsで警...
-
InputBox内の表示について
-
アクセスのマクロについて
-
EXCEL2010でxltmにxlsmは必要?
-
ACCESS2000の終了時に自動で実行
-
Excelマクロの登録されたModule...
-
マクロが登録できません
-
エクセル VBA SendKeys ループ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別シートのマクロを実行する方法
-
Application.Runエラー(1004)
-
エクセルのマクロボタンが編集...
-
Access終了時にマクロまたはVBA...
-
エクセルVBAで、ボタンの文字を...
-
シート保護を掛けたまま並べ替...
-
InputBox内の表示について
-
access2010 コマンドまたはアク...
-
マクロ 戻るボタンを押したらシ...
-
特定のシートだけ印刷はマクロ...
-
マクロが登録できません
-
アクセスのマクロについて
-
エクセルの右クリックにオートS...
-
private sub にしたらマクロが...
-
エクセル VBA SendKeys ループ...
-
エクセルのマクロ
-
今日の日付の範囲を指定して印...
-
AccessでExcelファイルを印刷
-
ExcelVBAで右クリックメニュー...
-
Workbook_Openを起動時以外に呼...
おすすめ情報