Home > Excel エクセルの使い方-イベントプロシージャ/VBA

Excel エクセルの使い方-イベントプロシージャ/VBA

スポンサード リンク
対象:Excel2003, Excel2007, Excel2010

「エクセルで保存時にマクロ実行する方法」
という検索が行われていました。

Excelで保存をするときに、なんらかのマクロを実行させる方法を探している方による検索です。

VBA(Visual Basic for Applications)で、何かの操作時にマクロを実行させたいというときは、イベントプロシージャの出番です。

続きを読む

対象:Excel2003, Excel2007, Excel2010

セルをダブルクリックしてマクロを実行するには、イベントプロシージャからマクロを呼べばいいということをご紹介しました。

ご紹介したイベントプロシージャでは、ワークシートのどのセルをダブルクリックしてもマクロが実行されます。

実務では、ワークシートの一部のセルをダブルクリックしたときだけマクロを実行したい、という要望もよくいただきます。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「セルのダブルクリックでマクロ実行」
という検索が行われていました。

VBA(Visual Basic for Applications)でマクロを記述していて、セルをダブルクリックしたときにマクロを実行するにはどうしたらいいのか、疑問に感じた方による検索です。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

Application.CommandBars("Cell").EnabledプロパティをFalseにすることで、セル上で右クリックしたときに表示されるショートカットメニューを非表示にできるということをご紹介しました。

この方法では、あくまでもセル上で右クリックしたときにショートカットメニューを非表示にする方法です。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

Exceでは、[Enter]キーを押したあと、次にどのセルをアクティブにするのかを変更できます。

2003までのExcelならば[オプション]ダイアログ−[編集]タブ−[入力後にセルを移動する]欄で、Excel 2007ならば[Excelのオプション]ダイアログ−[詳細設定]−[編集設定]欄−[Enterキーを押した後にセルを移動する]欄で、[Enter]キーを押したあとにセルを移動するかどうか、移動するならば下・右・上・左のどの方向へ移動するのかを設定できます。

この[Enter]キーを押したときの設定について、
「エクセル Enter後 移動方向 シート毎設定」
「エクセル 入力後セル移動方向 ファイル毎に」
といった検索がこのサイトで見かけることがあります。

ワークシートごと・ブック(ファイル)ごとに、[Enter]キーを押したあとの移動方向を切り替える方法を探している方の検索です。

[Enter]キーを押した後のアクティブセルの移動方向は、アプリケーションごとに設定されるものなので、標準の機能で、シートごとやブックごとに[Enter]後に移動する方向を変えることはできません。

続きを読む

対象:Excel2002, Excel2003, Excel2007

VBA(Visual Basic for Applications)で、メニューをカスタマイズする方法をご紹介しています。


セルで右クリックをしたときに表示されるショートカットメニューを、表示しないようにしたいという要望もよくいただきます。

かなり作り込みをするようなワークシートを作成しているような方から、ショートカットメニューを表示させないようにしたいという要望をいただくことは少なくありません。

続きを読む

対象:Excel2007

「エクセル2007 ステータスバー 非表示方法」
「Excel2007でステータスバーを非表示にする方法」
といった検索が行われていることがあります。

2003までのExcelならば、メニュー[表示]−[ステータスバー]や、[オプション]ダイアログ−[表示]タブ−[表示]グループ−[ステータスバー]チェックボックスで、ステータスバーの表示・非表示を切り替えられました。

ところがExcel 2007ではそれに該当するオプション設定や、コマンドが見当たりません。

そのことに起因する疑問でしょう。

Excel 2007に限らず、Office 2007ではステータスバーの表示・非表示を切り替えるコマンドはなくなっているようです。

続きを読む

対象:Excel2002, Excel2003, Excel2007

先日Twitterで
エクセルで、勝手に「折り返して全体を表示する」になったりするのを停止できませんか?
といったpostを見かけました。

[セルの書式設定]ダイアログ−[配置]タブ−[文字の制御]欄に[折り返して全体を表示する]というチェックボックスがあります。

[折り返して全体を表示する]チェックボックスがOnになっていると、セルにたくさんの文字列が入力されているときなどに、文字列がセル内で改行されて表示されるようになります。

セルの幅が広くないときなどにセル内改行されると、非常に見づらい状態になることもあり、自動的に折り返して全体を表示してほしくないという要望が出てくることもうなずけます。

原因は、[折り返して全体を表示する]チェックボックスが、自動的にOnになるようなケースがあるということでしょう。

例えば、改行を含んだ文字列をコピーアンドペーストしたときや、セル内改行するために[Alt]+[Enter]キーを利用したときなどです。このようなときに[折り返して全体を表示する]チェックボックスは自動的にOnになります。

この自動的にOnになる機能を止められればいいのでしょうが、残念ながらこの仕様は、オプション設定などで変えられるようなものではなさそうです。

続きを読む

対象:Excel2002, Excel2003, Excel2007

複数のシートを頻繁に切り替えて操作しているような方から、
「直前に操作していたシートに戻るショートカットキーってないんでしょうか?」
といったご質問をいただくことがあります。

シートの切り替えは、シート見出しをクリックして行いますが、シート見出しをクリックする操作を何度も面倒です。そのためこのようなご質問をいただくことになります。

そのような機能は標準では用意されていませんが、VBA(Visual Basic for Applications)を利用してマクロを作成してやれば、もちろん実現可能です。

続きを読む

対象:Excel2002, Excel2003, Excel2007

Excelを使ってスケジュール管理のようなことをしている方は少なくありません。

そういった方から、
「Excelファイルを開いたときに今日の日付をアクティブにするにはどうしたらいいのでしょう?」
といったご質問をいただくことがあります。

例えば、ワークシートに1か月分の日付を入力しておいて、Excelファイルを開いたときに、今日の日付の入力されているセルをアクティブにしたい、といった要望です。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

VBA(Visual Basic for Applications)で業務アプリケーションを作っているような方から、
「アクティブセルを左上に表示することはできないのでしょうか?」
「ファイルを開いたときにアクティブセルを左上に表示するにはどうしたらいいのでしょう?」
といったご質問をいただくことがあります。

例えば、
「Range("Z400").Activate」
「Range("Z400").Select」
といったコードを実行すれば、
Z400セルを、アクティブにしたり選択したりといったことは可能です。

しかしこのZ400セルはExcelウィンドウの真ん中に表示されてしまいます。

これを真ん中に表示させるのではなく、左上に表示させるにはどうしたらいいのか、というご質問です。

Activateメソッド・Selectメソッドは、アクティブにしたり選択したりといったことはできますが、どこに表示するかといった指示はできません。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

Excelで業務アプリケーションを作ろうとしている方から
「シート見出しが表示されていない状態にするにはどうしたらいいのでしょうか?」
といったご質問をいただくことがあります。

2003までのExcelなら、メニュー[ツール]−[オプション]をクリックして表示される、[オプション]ダイアログ−[表示]タブの[シート見出し]チェックボックス、Excel 2007なら、[Officeボタン]−[Excelのオプション]ボタンをクリックして表示される、[Excelのオプション]ダイアログ−[詳細設定]−[次のブックで作業するときの表示設定]欄の、[シート見出しを表示する]チェックボックスをOffにすることでシート見出しは非表示になります。

これを自動的に行うにはどうしたらいいのか、というのがご質問の主旨です。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

アクティブセルの値をワークシート名にするマクロと、そのマクロをショートカットキーで呼び出す方法をご紹介しました。

この方法を知った方からは、
「自動的にセルの値がワークシート名になるようにできないのでしょうか?」
といったご質問をいただくこともあります。

マクロをいちいち呼び出すのが面倒に感じた方からのご質問です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「イベントプロシャージャ」
という検索がこのサイトで行われていることが、時々あります。

おそらく独学でVBA(Visual Basic for Applications)を使おうとしている方で、身近にVBAを使っている方がいらっしゃらないんだろうと思います。

「イベントプロシャージャ」ではなく
「イベントプロシージャ」です。正しくは。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

VBA(Visutal Basic for Applications)をご存知ないレベルの方で、Excelをあちこち触っている方から
「コードの表示って何に使うんですか?」
というご質問をいただくことがあります。

シート見出し上で右クリックして表示されるショートカットメニューに[コードの表示]コマンドがあります。

コードの表示

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

実務でExcelをお使いの方からは、様々な質問・要望をいただきます。

「セルをダブルクリックしたら色を変えられるようにするにはどうしたらいいのでしょうか?」
といったご質問をいただくことがあります。

2003までのExcelなら、[書式設定]ツールバー−[塗りつぶしの色]ボタンや、[セルの書式設定]ダイアログ−[パターン]タブでセルの色を指定できます。

Excel 2007なら、[ホーム]タブ−[フォント]グループ−[塗りつぶしの色]ボタンや、[セルの書式設定]ダイアログ−[塗りつぶし]タブなどでセルの色を指定できます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

「TODAY関数で自動的に入力された今日の日付が更新されないようにしたい」
という要望に対する解決策として、[F9]キーで計算結果にする方法と、ショートカットキー:[Ctrl]+[;](セミコロン)で今日の日付が入力できることをご紹介しました。

これらの方法をご紹介すると、
「マクロでやるにはどうしたらいいのでしょうか?」
「マクロを組んだらもっとスマートに入力できるんじゃないですかね?」
といったご質問をいただくことがあります。

[F9]キーや[Ctrl]+[;]キーを利用する方法は、Excelで対応しているのではなく、ユーザー側のスキルを上げろということなので、スキルに差がある複数の人が操作するような場合には現実的ではありません。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelファイルを開いたときにメニューをカスタマイズする方法をご紹介しました。

似たようなニーズですが、ブックを開いたときではなく、特定のブックがアクティブなときだけメニューをカスタマイズしたいという要望も、よくいただくものの一つです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

マクロを「Auto_Close」という名称にすることで、ブックを閉じるときに自動実行されるマクロとなることをご紹介しました。

もう一つ、Excelファイルが閉じられるときにマクロを実行させる方法があります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

Excelで業務アプリケーションを作り始めると、いろいろなやりたいことが出てきます。

「セルのドラッグ・アンド・ドロップ編集をできないようにしたいのですが...?」
というのは、そんな要望の一つでしょう。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

条件に応じて書式を変更する条件付き書式は、実務でとても役立つ機能の一つです。

2003までのExcelでは、条件を3つまで指定できるのですが、条件付き書式の便利さに気づいた方からは、
「条件付き書式で4つ以上の条件を指定したいのですが...?」
「条件付き書式で条件を4つ以上指定することはできないのでしょうか?」
といったご質問をいただくことがあります。

結論から言えば、Excel 2007では条件は無制限に指定できますが、2003までのExcelの[条件付き書式]機能で、条件を4つ以上指定することはできません。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

Excelでチェックボックスを使ってデータ入力をできるようにする方法をご紹介してきました。


この方法を知った方から、
「チェックボックスを『レ』ではなく『X』にすることはできないのでしょうか?」
というご質問をいただいたことがあります。

フォームやコントロールツールボックスから作成したチェックボックスは、Onにすると「レ」型のチェックとなりますが、これを「X」になるようにできないのか、というご質問です。

フォームやコントロールツールボックスから作成できるチェックボックスは、「レ」型にしかならないので別の方法を考えるしかありません。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

マクロに「Auto_Open」という名前をつけることで、ファイルが開くるときに実行されるマクロになる、ということをご紹介しました。

逆に、
「ファイルを閉じるときに実行されるマクロを作るにはどうすればいいですか?」
というご質問をいただくこともあります。

続きを読む

Excel97,Excel2000,Excel2002,Excel2003

xlsファイルを開いたときに何らかの処理を実行させるには、「Auto_Open」という名前のマクロを作るということをご紹介しました。

実は他にもxlsファイルを開いたときに必ず何らかの処理を行わせる方法があります。
イベントプロシージャを利用する方法です。

続きを読む

Excel 97,2000,2002,2003

VBA(Visal Basic for Applications)でマクロを作成し、業務アプリケーションというべきレベルのものを作成しはじめた方から、よくいただく質問があります。

「ブックを開いたときに必ずやりたい処理があるときはどうすればいいですか?」
「ファイルを開いたときにマクロを実行させるにはどうすればいいのでしょう?」
といったご質問です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

[マクロ]ダイアログを使ったマクロにショートカットキーを割り当てる方法をご紹介しました。

一つ二つのマクロならば、この方法で問題ないでしょうが、大量のマクロにショートカットキーを割り当てようとすると、かなり面倒です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelを使っている方から結構いただく質問で、これまであえて無視してきた質問があります。

アクティブセルのある行や列が目立つようにできないでしょうか?
カーソルのあるアクティブな行・列を目立たせる方法はありませんか?
という質問です。

巨大な表を作成していると、同じ行・列にあるデータか否かがわかりにくくなってしまうので、わかりやすくするためにアクティブセルのある行や列の色を変更したりできないかということです。

これを実現するには、VBA(Visual Basic for Applications)でイベントプロシージャをゴリゴリコーディングするしかないだろうなと思っていて、このサイトで取り上げられるのは随分先だろうなと考えていました。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

セルの表示形式を別のセルに表示させるためのユーザー定義関数をご紹介しました。

表示形式を簡単に確認するためであれば、オートカルクのような雰囲気で、ステータスバーに表示させる方が便利かもしれません。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

文書作成をExcelで行なうときに、数式バーが邪魔に感じることがあり、そんなときは非表示にしてしまえばいいだろうというネタをご紹介しました。

ツールバーに[数式バー]ボタンを作っておくだけのことですから、数式バーが複数行表示されて、列番号見出しがクリックできない、上の方のセルが隠れて見えなくなってしまったので数式バーが邪魔だな、と感じたときに自分でボタンをクリックして非表示にしなければなりません。

数式バーが邪魔だなと感じる場合、そのワークシートでは数式バーを使うことはほとんどないはずですので、普段は数式バーが表示されていて、数式バーが邪魔だと感じる特定のワークシートが表示されたときに数式バーが自動的に非表示になってくれれば、もっと便利だと思います。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelでヘッダーに和暦の日付を入れたいという要望に対して、行のタイトルを利用する方法をご紹介しました。

Excelの基本操作の応用で実現できるところがいい点ですが、この方法では残念ながらフッターに和暦の日付を入れることはできません。フッターに和暦の日付を表示させるにはどうすればいいでしょうか。

続きを読む

Home > Excel エクセルの使い方-イベントプロシージャ/VBA

search

このページの上部へジャンプ