Excel Tech-3 / ツールバー


オリジナルツールバーの紹介

 オリジナルの[janma]ツールバーに私は以下の23のボタンを登録しています。

印刷
印刷範囲の設定
左揃え
中央揃え
小数点表示桁上げ
罫線
塗りつぶしの色
フォントの色
形式を選択して貼り付け
値の貼り付け
すべてクリア
文字の割付
行の挿入
条件付き書式設定
入力規則
区切り位置
整列
オプション
[ツール]-[ユーザー設定]
マクロの記録
コントロールツールボックス
シートの移動またはコピー
画面の拡大表示

 ボタンは23個しかありませんが、実際には31の機能を使うことができます。
 初期設定では、[標準]と[書式設定]ツールバーが表示されていますが、私は今回ご紹介した[janma]ツールバーだけを表示させて使っています。
 [標準]と[書式設定]ツールバーは初期設定で表示されているように、たいていの人がよく使う機能がありますが、その多くは以下のようにキーボードショートカットで実行することができます。

[標準]ツールバー

新規作成 Ctrl+N
開く Ctrl+O
上書き保存 Ctrl+S
名前を付けて保存 F12
印刷 Ctrl+P
スペルチェック F7
切り取り Ctrl+X
コピー Ctrl+C
貼付け Ctrl+V
元に戻す Ctrl+Z
やり直し Ctrl+Y
ハイパーリンク Ctrl+K
オートSUM Alt+Shift+=
関数貼付け Shift+F3
オフィスアシスタント F1

[書式設定]ツールバー

太字 Ctrl+B
斜体 Ctrl+I
下線 Ctrl+U
通貨スタイル Ctrl+Shift+$
パーセントスタイル Ctrl+Shift+%
桁区切りスタイル Ctrl+Shift+!




ツールバーの表示/非表示

■メニュー[ツール]-[ユーザー設定]の[ツールバー]タブで表示したいツールバーのチェックボックスをオンに、非表示にしたいツールバーはオフにします。
→ 一度に複数のツールバーを表示/非表示させたい場合

■ツールバーを右クリック、表示/非表示を切り替えしたいツールバーをクリックします。
→ 一つのツールバーを表示/非表示させたい場合

■フリーツールバーを非表示にするには、ツールバーの (閉じるボタン) をクリックします。
→ 一つのツールバーを表示/非表示させたい場合

■[標準]ツールバーはCtrl+7で表示/非表示を切り替えることができます。

【解説】
 メニューバーを非表示にすることはできません。ただし、マクロを使えば可能です。
 上記の操作で非表示にしても、もう一度チェックボックスをオンにすれば再び表示させることができます。
 作成したツールバーを完全に削除するには、メニュー[ツール]-[ユーザー設定]の[ツールバー]タブで削除したいツールバーを選択してから[削除]ボタンを押します。
 エクセル画面の端に固定されていないツールバーのことをフリーツールバーと呼びます。メニューバー、ツールバーは画面の上だけではなく左右及び下に固定させることもできます。メニューバー、ツールバーの左端をドラッグして、固定させたい端でドロップします。




ツールバーのカスタマイズ

 まずツールバーを新規作成します。

1.メニュー[ツール]-[ユーザー設定](またはツールバー上で右クリック-[ユーザー設定])
→[ユーザー設定]ダイアログボックスが表示される。
2.[ツールバー]タブの[新規作成]ボタンをクリック
3.[ツールバー名]に適当な名前を入力してEnter
→ボタンが何も登録されていないツールバーが表示される。

 さて、これで新規作成したツールバーと[ユーザー設定]ダイアログボックスが表示された状態になっています。
 新規作成したツールバーにボタンを登録していきます。

1.[ユーザー設定]ダイアログボックスの[コマンド]タブをクリック
2.[分類] ボックスの一覧で、ボタンを使って実行するコマンドの種類をクリック
3.[コマンド] ボックスの一覧から、追加するコマンド(ボタンやサブメニュー)をドラッグしてツールバー上でドロップ

 区分線を挿入したい場合には、ツールバー上のボタンなどを右クリック、 [グループの始まり] をクリックします。区分線が、水平ツールバーのボタンでは左側に、垂直ツールバーのボタンでは上側に表示されます。
 区分線を削除したい場合にも、同じくツールバー上のボタンなどを右クリック、[グループの始まり]をクリックします。

 ツールバーに登録したボタンの位置を移動させたい場合には、ボタンをドラッグして、移動させたい位置でドロップします。
 ツールバーに登録したボタンを削除したい場合には、ボタンをドラッグして、ツールバーの外でドロップします。

 上記手順は全て[ユーザー設定]ダイアログボックスを開いたままで行います。ツールバーが完成したら、[ユーザー設定]ダイアログボックスの[閉じる]ボタンをクリックします。

【解説】

 ツールバーまたはメニューにコマンドを追加することもできます。ただし、一部のソフトでは、メニューバーなどをカスタマイズしていないという前提で、ファイルを開くとメニューバーを削除して独自のツールバーを表示させ、ファイルを閉じた時に独自のツールバーを削除してメニューバーを復活させるなどといった処理をマクロで実行するものがあります。この場合、追加したコマンドなどは削除され初期設定のメニューバーに戻ってしまいます。

 ツールバーまたはメニューにユーザー設定のメニューを追加するには、[ユーザー設定]ダイアログボックスの[コマンド] タブの[分類] ボックスで [新しいメニュー] をクリックし、[コマンド] ボックスから[新しいメニュー]をドラッグして、メニューを追加するツールバーまたはメニューにドロップします。
 ユーザー設定のメニューにコマンドを追加するには、独自に作成したメニューをクリックして空白のボックスを表示してから、[ユーザー設定]ダイアログボックスの[コマンド]タブの[コマンド] ボックスからコマンドをドラッグし、ユーザー設定のメニューの空白のボックスにドロップします。

 [ユーザー設定] ダイアログボックスでツールバーが隠れる場合は、必要に応じてダイアログボックスを移動します。
 [ユーザー設定]ダイアログボックスの[コマンド]タブには膨大なコマンドがあります。コマンドを選択してから[説明]ボタンを押すとそのコマンドの簡単な説明を見ることができます。




ツールバーのクイックカスタマイズ

 前回は、「[ユーザー設定]ダイアログボックスが表示された状態」でのツールバーのカスタマイズのやり方を解説いたしました。今回は、[ユーザー設定]ダイアログボックスを表示させないでツールバーをカスタマイズするやり方を解説します。

■ツールバーのボタンをコピーする
 AltキーとCtrlキーを押しながら、ドラッグ&ドロップ

 例えば、[標準]ツールバーの[印刷プレビュー]ボタンをオリジナルのツールバーにコピーする場合、AltキーとCtrlキーを押しながら、[標準]ツールバーの[印刷プレビュー]ボタンをドラッグし、オリジナルのツールバー上でドロップします。

■ツールバーのボタンを移動する
 Altキーを押しながら、ドラッグ&ドロップ

 ボタンを「移動」すると、移動元のツールバーのボタンは無くなってしまいます。[標準]ツールバーなど、もともと組み込まれているツールバーのボタンについては、コピーする方が良いでしょう。

■ツールバーのボタンを削除する
 Altキーを押しながらボタンをドラッグし、ツールバーの外でドロップ

■区分線を追加/削除する
 Altキーを押しながらボタンをちょっとだけドラッグ&ドロップ




メニューバー/ツールバーの表と裏

【問題】
 私はオリジナルの[janma]ツールバーしか表示させていません。 [janma]ツールバーには、印刷関係のボタンとして、[印刷]と[印刷範囲の設定]を登録してありますが、[印刷プレビュー]ボタンは登録していません。しかし、印刷プレビューを一回の操作で実行することができます。どうやってやるのでしょうか?

【解答】
 Shiftキーを押しながら、[印刷]ボタンをクリックします。

【解説】
 Shiftキーを押しながらクリックすると、一部のコマンドでは別の機能が使えるようになります。
 [janma]ツールバーでは、以下のボタンについてはShiftキーを押しながらクリックすることでもう一つの機能を実行できます。
 私が「([janma]ツールバーには)ボタンは23個しかありませんが、実際には31の機能を使うことができます」と言ったのは、このことだったのです。
 [janma]ツールバーにはShiftキーを押しながらクリックすることでもう一つの機能が使えるボタンが以下の8個登録されています。

印刷−−−−−−−−−−−−印刷プレビュー
左揃え−−−−−−−−−−−右揃え
中央揃え−−−−−−−−−−セルを結合して中央揃え
小数点表示桁上げ−−−−−−小数点表示桁下げ
形式を選択して貼り付け−−−図のリンク貼り付け
値の貼り付け−−−−−−−−書式の貼り付け
行の挿入−−−−−−−−−−行の削除
画面の拡大表示−−−−−−−画面の縮小表示

 Shiftキーを押しながらクリックすると違う機能が使えるものは、以下のように他にもたくさんあります。

メニューバー

閉じる−−−−−−−−−−−全て閉じる
コピー−−−−−−−−−−−図のコピー
貼り付け−−−−−−−−−−図の貼り付け
形式を選択して貼り付け−−−図のリンク貼り付け

[標準]ツールバー

開く−−−−−−−−上書き保存
印刷−−−−−−−−印刷プレビュー
元に戻す−−−−−−やり直し
昇順で並び替え−−−降順で並び替え

[書式設定]ツールバー

下線−−−−−−−−−二重下線
左揃え−−−−−−−−右揃え
中央揃え−−−−−−−セルを結合して中央揃え
小数点表示桁上げ−−−小数点表示桁下げ
インデント解除−−−−−インデント

その他

セルの挿入−−−−−−−−セルの削除
行の挿入−−−−−−−−−行の削除
列の挿入−−−−−−−−−列の削除
数式と値のクリア−−−−−−書式のクリア
フォントサイズの拡大−−−−フォントサイズの縮小
右罫線−−−−−−−−−−左罫線
上罫線−−−−−−−−−−下罫線
書式の貼り付け−−−−−−値の貼り付け
画面の拡大表示−−−−−−画面の縮小表示




アクセラレーションキー

【問題】
 [janma]ツールバーには、[小数点桁上げ]ボタンが登録されています。この[小数点桁上げ]ボタンをマウスでクリックすると小数点が一桁増え、例えば、セルに0.1と表示されている数字が0.10になります。
 この小数点桁上げをマウスを使わないでキーボードだけで実行することができるでしょうか?できるとすれば何回の操作でできるでしょうか?

【解答】
 Alt+.
 一回の操作でできます。Altキーを押しながら「.」(ピリオド)を押します。

【解説】
 アクセラレーションキーを利用しないやり方もあります。しかし手間がかかります。

1.Altキー
→メニューバーがアクティブに
2.Ctrl+Tabキーを数回押す
→[janma]ツールバーがアクティブに
3.Tabキー(または右矢印キー)を5回押す
→[小数点桁上げ]ボタンがアクティブに
4.Enter

 Altキーを押すとメニューバーがアクティブになります。
 続けてCtrl+TabキーまたはCtrl+Shift+Tabキーを押すと次または前のツールバー/メニューバーがアクティブになります。
 ツールバー/メニューバーがアクティブな状態でTabキー(または右矢印キー)またはShift+Tabキー(または左矢印キー)を押すとそのバーの中で次または前のボタンまたはメニューがアクティブになります。

 [janma]ツールバーには、以下の16個のコマンドにアクセラレーションキーを設定しています。
 Alt+アクセラレーションキーでキーボードで操作を実行することができます。

印刷−−−−−−−−−−−− P
小数点表示桁上げ−−−−−− .
形式を選択して貼り付け−−−− X
値の貼り付け−−−−−−−−− C
すべてクリア−−−−−−−−− L
文字の割付−−−−−−−−−− 4
行の挿入−−−−−−−−−−− R
条件付き書式設定−−−−−−− 1
入力規則−−−−−−−−−−− 2
区切り位置−−−−−−−−−− K
整列−−−−−−−−−−−−− A
オプション−−−−−−−−−−− N
[ツール]-[ユーザー設定]−−−−− U
マクロの記録−−−−−−−−−− 8
シートの移動またはコピー−−−− M
画面の拡大表示−−−−−−−− Z

 [janma]ツールバーに設定している16個のアクセラレーションキーについて、どうしてそのキーにしたのかを簡単に説明します。

[印刷]:PrintのPです。もともと印刷のショートカットキーとしてCtrl+Pがありますが、Ctrl+Pだと[印刷]ダイアログボックスが開きます。部数が複数の場合などにはCtrl+Pを、単に一部印刷する際などはAlt+P、というふうに使いわけています。

[小数点表示桁上げ]:小数点の「.」です。

[値の貼り付け]:値の貼り付けは結構使う機能です。コピー(Ctrl+C)を小指でCtrlキー、人差し指でCで実行。親指でAltキーを押しながら人差し指でCを押す、というふうに使っています。

[形式を選択して貼り付け]:Ctrl+CのCにキーの位置が近いのでXにしました。

[すべてクリア]:cLearのLです。deleteキーだと数式と値だけの削除ですが、[すべて]は書式も削除します。メニューからだと[編集]-[クリア]-[すべて]です。

[文字の割付]:行の挿入とともに文字の割付を使う作業があるのでRキーに近い4としました。メニューからだとメニュー[編集]-[フィル]-[文字の割付]です。

[行の挿入]:RowのRです。

[条件付き書式設定]:Ctrl+1 (メニュー[書式]-[セル])がセルの書式なので、その連想から1としました。

[入力規則]:ツールバー上で条件付き書式設定(Alt+1)の隣にあるので2としました。

[区切り位置]:KugiriのKです。

[整列]:ArrangeのAです。

[オプション]:optioNのNです。

[ツール]-[ユーザー設定]:UserのUです。

[マクロの記録]:Alt+F8(メニュー[ツール]-[マクロ]-[マクロ])の連想から8としました。

[シートの移動またはコピー]:MoveのMです。

[画面の拡大表示]:ZoomのZです。

 アクセラレーションキーは自分の好きなキーを設定できます。ただし、以下のキーは既にメニューやショートカットで使われているので、設定しない方が良いでしょう。

D メニュー[データ]
E メニュー[編集]
F メニュー[ファイル]
H メニュー[ヘルプ]
I メニュー[挿入]
O メニュー[書式]
S 表示中のワークシートを電子メール メッセージとして送信
T メニュー[ツール]
V メニュー[表示]
W メニュー[ウィンドウ]
7 [書式]−[スタイル]
= オートSUM
; 可視セル選択 




アクセラレーションキーその2

  [小数点表示桁上げ]ボタンにアクセラレーションキーとして「.」を設定してみましょう。

1.メニュー[ツール]-[ユーザー設定] (またはツールバー上で右クリック-[ユーザー設定])
→[ユーザー設定]ダイアログボックスが表示される。

2. [小数点表示桁上げ]ボタンの上で右クリック

3.[名前]のところに入っている「小数点表示桁上げ(&I)」を削除して、「&.」と入力

4.続けて、[イメージとテキストを表示]をクリック

 これで、Altを押しながら「.」キーを押すと[小数点表示桁上げ]が実行されるようになります。

【解説】
 アクセラレーションキーにしたい文字の前にアンパサンド (&) を入力します。この文字は、下線 (_) 付きでメニューに表示されます。
 上記の例のように[イメージとテキストを表示]か[テキストのみを表示]にしておかないと、アクセラレーションキーは使えません。
 文字の前後に限らずどこでも「&」を入れることができます。
 例えば、[janma]ツールバーでは、各コマンドの名前を以下のようにしています。

印刷−−−−−−−−−−−−− &P
小数点表示桁上げ−−−−−−− &.
形式を選択して貼り付け−−−− &X
値の貼り付け−−−−−−−−− &C
すべてクリア−−−−−−−−− c&Lear
文字の割付−−−−−−−−−− &4
行の挿入−−−−−−−−−−− &Row
条件付き書式設定−−−−−−− &1
入力規則−−−−−−−−−−− &2
区切り位置−−−−−−−−−− 区切り&K
整列−−−−−−−−−−−−− &A
オプション−−−−−−−−−− optioN
[ツール]-[ユーザー設定]−−−− 設定&U
マクロの記録−−−−−−−−− &8
シートの移動またはコピー−−− Sh移動&M
画面の拡大表示−−−−−−−− &Z




アクセラレーションキーその3

【問題】
 [janma]ツールバーには、[小数点桁上げ]ボタンが登録されています。この[小数点桁上げ]ボタンをマウスでクリックすると小数点が一桁増え、例えば、セルに0.1と表示されている数字が0.10になります。
 [小数点桁上げ]ボタンには「.」がアクセラレーションキーとして設定されているので、ALT+.で小数点桁上げを実行することができます。
 では、セルに0.10と表示されている数字を0.1にする小数点桁下げをマウスを使わないでキーボードだけで実行することができるでしょうか?できるとすれば何回の操作でできるでしょうか?
 なお、[janma]ツールバーには、[小数点桁下げ]ボタンは登録されていません。

【解答】
 Alt+Shift+.
 一回の操作でできます。AltキーとShiftキーを押しながら「.」(ピリオド)を押します。

【解説】
 今回の宿題は簡単だったのではないでしょうか?
 No.45の「メニューバー/ツールバーの表と裏」で説明したとおり、Shiftキーを押しながらクリックすると、一部のコマンドでは別の機能が使えるようになります。
 アクセラレーションキーが設定されているコマンドの場合は、Alt+Shift+アクセラレーションキーで同様に別の機能が使えるようになります。[janma]ツールバーでは、以下がそれにあたります。

印刷(Alt+P)−−−−−−−−−−−−印刷プレビュー(Alt+Shift+P)
小数点表示桁上げ(Alt+.)−−−−−−小数点表示桁下げ(Alt+Shift+.)
形式を選択して貼り付け(Alt+X)−−−図のリンク貼り付け(Alt+Shift+X)
値の貼り付け(Alt+C)−−−−−−−−書式の貼り付け(Alt+Shift+C)
行の挿入(Alt+R)−−−−−−−−−−行の削除(Alt+Shift+R)
画面の拡大表示(Alt+Z)−−−−−−−画面の縮小表示(Alt+Shift+Z)




ツールバーの添付

1.オリジナル(ユーザー設定)のツールバーを添付するブックを開く
2.メニュー[ツール]-[ユーザー設定]
→[ユーザー設定]ダイアログボックスが表示される
3.[ツールバー]タブの[添付]をクリック
→[ブックへツールバーを登録]ダイアログボックスが表示される
4.登録するユーザー設定のツールバーをクリック
5.[コピー]をクリック
6.Enter(または[OK]ボタンをクリック)
→[ブックへツールバーを登録]ダイアログボックスが閉じる
7.Enter(または[閉じる]ボタンをクリック)
→[ユーザー設定]ダイアログボックスが閉じる




ツールバーの添付2

【問題】
 [印刷]ボタンだけを登録したオリジナルの[Print]ツールバーをファイル「オリジナルツールバー」に添付して保存しました。
 その後すぐ、オリジナルの[Print]ツールバーに[印刷範囲の設定]ボタンを追加して、ファイル「オリジナルツールバー」を上書き保存してAさんに送りました。
 しかし、Aさんがファイルを開くと、[Print]ツールバーには、[印刷範囲の設定]ボタンは無く[印刷]ボタンしかありませんでした。
 どうしてでしょうか?

【回答】
 ボタンを追加して、ファイルを保存する前に添付ツールバーを削除してコピーをしなかったからです。

【解説】
 オリジナルのツールバーが添付されたファイルを開いて、ツールバーにボタンを登録して、ファイルを保存する前に以下の操作が必要です。

1.メニュー[ツール]-[ユーザー設定]
→[ユーザー設定]ダイアログボックスが表示される
2.[ツールバー]タブの[添付]をクリック
→[ブックへツールバーを登録]ダイアログボックスが表示される
3.既に添付されているオリジナルのツールバー(ダイアログボックスの右手)をクリック
4.[削除]ボタンをクリック
5.オリジナルのツールバー(ダイアログボックスの左手)をクリック
6.[コピー]をクリック
7.Enter(または[OK]ボタンをクリック)
→[ブックへツールバーを登録]ダイアログボックスが閉じる
8.Enter(または[閉じる]ボタンをクリック)
→[ユーザー設定]ダイアログボックスが閉じる




ツールバーの添付3

【問題】
 Aさんに[Print]ツールバーをファイル「オリジナルツールバー」にちゃんと添付して再送しました。
 しかし、Aさんがファイルを開いても、[Print]ツールバーは、[印刷範囲の設定]ボタンは無く[印刷]ボタンだけのままでした。
 どうしてでしょうか?

【回答】
 同名のツールバーが既にある場合には、ツールバーが添付されたファイルを開いても、もとのツールバーが優先されるからです。

【解説】
 Aさんは、ツールバーが添付されたファイルを開く前に以下の操作が必要です。

1.メニュー[ツール]-[ユーザー設定]
→[ユーザー設定]ダイアログボックスが表示される
2.[ツールバー]タブで[Print]ツールバーをクリック
3.[削除]ボタンをクリック
→削除してよいかどうか確認のメッセージが表示される
4.[OK]ボタンをクリック
5.[閉じる]ボタンをクリック
→[ユーザー設定]ダイアログボックスが閉じる

 以下のマイクロソフトのサポート技術情報に、オリジナルのツールバーの添付がうまくいかないその他の理由が書いてあります。

[XL2002]ブックに添付したユーザー設定ツールバーが保存されない




メニューバー/ツールバーの回復

 メニューバー/ツールバーの一部または全部が非表示/淡色表示/削除になる
ことがあります。
 Altキーを押しながらメニューやボタンをドラッグし、ツールバーの外でドロップした場合には、メニューバー/ツールバーの一部が削除されます。

 マクロが原因の場合もあります。
 そのファイルにおいて使用できる機能を限定させる目的の為に、メニューバーなどを削除することがあります。
 削除などしても、そのファイルを閉じる時にマクロで自動的に復活させるように通常はなっています。
 ところが、この復活させるマクロが走らず、メニューバーなどが削除されたままになることがあります。
 一つの理由は以下です。

[XL2000] アドインの BeforeClose イベントが Excel 終了時に実行されない


 他にも、そのファイルを閉じる時にコマンドボタンを押して閉じない場合、つまりコントロールメニューの[閉じる]ボタンをクリックやCtrl+W (メニュー[ファイル]-[閉じる])でファイルを閉じるとメニューバーなどが復活しないというものもあります。
 このケースの場合は、コマンドボタンに「メニューバー/ツールバーを復活させてそのファイルを閉じる」マクロを登録していて、BeforeCloseやAuto_Closeで復活させるマクロを登録していなかったのです。
 次回からメニューバー/ツールバーなどがおかしくなってしまった場合の対処方法について解説いたします。だいたい以下のような内容を考えています。

・デフォルトのxlbファイルを開く
・xlbファイルを削除
・バックアップしているxlbファイルを開く
・リセット
・組み込みメニューからコピー
・マクロで回復




メニューバー/ツールバーのクイック・リカバリー

 メニューバー/ツールバーの一部または全部が淡色表示/削除の状態になってしまった場合に、エクセルを終了する前に以下の操作を行えば、淡色表示/削除の状態から回復します。

1.Win+F(ウィンドウズキーを押しながらFを押す)
(または、[スタート]ボタン-[検索]-[ファイルやフォルダ])
2.[名前と場所]タブの[名前]に「*.xlb」と入力
3.探す場所をCドライブにして、[検索開始]ボタンをクリック
4.ファイル「Excel.xlb」が見つかるのでこれを開く

【解説】
 Excel2000の場合には、「Excel.xlb」というファイル名ですが、バージョンによっては、ファイル名が違うようです。

Excel2002: Excel10.xlb
Excel2000: Excel.xlb
Excel97:[ログイン名]8.xlb または Excel8.xlb
Excel95:[ログイン名].xlb または Excel5.xlb または、ログイン時にユーザー名が使われていない場合、[ツール]-[オプション]の [ユーザー名].xlb
Excel5:Excel5.xlb
OSがNTの場合:Administrator.xlb
Excel 97 + Windows 95でユーザー名に全角文字が使われている場合:拡張子なしのユーザー名 というファイル名
Excel98:[システム フォルダ:初期設定] フォルダで ExcelToolbars (8) ファイルを検索

 拡張子がxlbのファイルは、ツールバーの設定ファイルです。
 Excelを終了すると、メニューバーや組み込みツールバーに加えた変更、ユーザー設定のツールバー、及び終了する直前に表示されていたツールバーが、xlbファイルに保存されます。
 メニューバー/ツールバーがおかしくなってもエクセルを終了する前であれば、それ以前の設定がxlbファイルなどに保存されているわけです。

参考URL;
[XL97] 全角文字を使用した名前でログオンした場合の xlb ファイルについて
[XL2002] 以前のバージョンからアップグレードするとユーザー設定ツール バーが表示不可
[XL97] 最初の起動時にアプリケーションエラーが発生するケースについて
[XL2000]Excel 2000 で使用できる起動スイッチ
[XL2002] Excel を起動しようとするとセットアップがメンテナンス モードで起動される




メニューバー/ツールバーのクイック・リカバリーその2

 前回、メニューバー/ツールバーの一部または全部が淡色表示/削除の状態になってしまった場合に、エクセルを終了する前にExcel.xlbを開くやり方をご紹介いたしました。
 エクセルをいったん終了してからはこのやり方は使えません。
 エクセルを終了してしまった場合には、xlbファイルを削除することで初期設定の状態に戻ります。手順は以下の通りです。

1.Excelを閉じる。
2.Win+F(ウィンドウズキーを押しながらFを押す)または、[スタート]ボタン−[検索]−[ファイルやフォルダ]
3.[名前と場所]タブの[名前]に「*.xlb」を入力
4.探す場所をCドライブにして、[検索開始]ボタンをクリック
5.ファイル「Excel.xlb」が見つかるので、これを削除する。

 ただし、このやり方だと、全くの初期状態に戻ってしまいますので、オリジナルのツールバーなどを作成している方は、xlbファイルのバックアップをとっておくことをおすすめします。
 すなわち、上記手順でxlbファイルを見つけて、名前を変更して保存する、あるいはコピーして別のフォルダに保存しておいて、メニューバー/ツールバーになにか異常が起きた場合に、そのバックアップしたファイルを開くことで、復活ができます。
 今回の特集でいろいろな復活方法をご紹介していますが、一番のおすすめは、この「xlbファイルをバックアップしておいて、メニューバー/ツールバーがおかしくなったら、それを開く」です。




メニューバーの一部のコマンドが淡色表示/削除

 メニューバーの一部のコマンドが淡色表示/削除されている場合には、以下の手順で元に戻すことができます。

1.メニュー[ツール](またはツールバーのどれかの上で右クリック)
2.[ユーザー設定]をクリック
3.[ツールバー]タブをクリック
4.[ワークシート メニューバー]を選択して、[リセット]ボタンをクリック
5.「[ワークシートメニューバー]ツールバーへの変更をリセットしてもよろしいですか?」のメッセージが表示されるので、OKボタンをクリック
6.[ユーザー設定]ダイアログボックスの[閉じる]ボタンをクリック

 あるいは、以下の手順でも元に戻すことができます。
1.メニュー[ツール](またはツールバーのどれかの上で右クリック)
2.[ユーザー設定]をクリック
3.[コマンド]タブをクリック
4.[分類]のところで[組み込みのメニュー]をクリック
5.削除などされてしまったメニューを[コマンド]からメニューバーへドラッグ&ドロップ

 以下は、マイクロソフトのサポート技術情報の関連記事です。
[XL97]Excel97 起動時にメニューの一部を淡色表示/削除する方法
[XL2002]特定シートのアクティブ時メニューを淡色表示する方法




マクロでメニューバー回復

 メニューバー全部が表示されていない場合には、以下の手順で表示できます。

1.Alt+F11(メニュー[ツール]-[マクロ]-[VBE])
→Visual Basic Editorが開く

2.Ctrl+G (メニュー[表示]-[イミディエイト ウィンドウ])
→イミディエイト ウィンドウにカーソールがいく

3.イミディエイト ウィンドウに以下のコードを入力
Application.CommandBars("Worksheet Menu Bar").Enabled = true

4.上記コードと同じ行のどこかでEnter
5.Alt+F4(メニュー[ファイル]-[終了してMicrosoft Excelへ戻る])

 以下は、マイクロソフトのサポート技術情報の関連記事です。

[XL2002]メニューバーやツールバーを非表示にする方法
http://support.microsoft.com/default.aspx?scid=kb;ja;408057




数式バー、ステータスバー、行列番号、スクロールバー、シート見出しの表示

 数式バー、ステータスバー、行列番号、スクロールバー、シート見出しが非表示になってしまった場合には、以下の手順で表示させることができます。

1.メニュー[ツール]-[オプション]
2.[表示]タブをクリック
3.[表示]のところで[数式バー]、[ステータスバー]にチェック、[ウィンドウオプション]のところで[行列番号]、[水平スクロールバー]、[垂直スクロールバー]、[シート見出し]にチェック
4.Enter




マクロでツールバー作成

 【エクセル技道場】No.005で、見出しスクロールボタンを右クリックでシート一覧が表示され、シート名をクリックすると当該シートがアクティブになることをご紹介いたしました。
 ただし、15枚以上のシートがある場合には、見出しスクロールボタンを右クリックすると[シートの選択...]というメニューが出てくるので、それをクリックして[シートの選択]ダイアログボックスでアクティブにしたいシート名をクリックして、エンターを押す必要があります。
 これが結構面倒くさいという人がいるので、シート一覧を表示するツールバーを作成するマクロを作成しました。

 ドロップダウンで表示される項目数をシート数にしているので、見出しスクロールボタンの右クリックの時のようにスクロールバーをクリックする必要がありません。ただし、ドロップダウンが画面の高さを超えてしまう場合にはスクロールバーのクリックが必要になります。
 ダウンロードしたファイルを開くとマクロで[LIST]ツールバーが追加されます。ファイルを閉じると自動的に[LIST]ツールバーが削除されるようになっています。

 ツールバーにある「更新」は、シートのコピー、移動をした時に押します。
 新規シートの挿入の場合にはリストが自動的に更新されます。
 シート削除の場合には「更新」を押すか、ドロップダウンを1回クリックするとリストが更新されます。
 
 マクロでツールバー作成については、以下のページを参考になさってください。

[XL97] メニュー/サブメニューの追加と削除を行う方法

 以下のページは英語です。

Command and Menu Bars
Customizing Menu Bars, Menus, and Menu Items

 sheetlist.xlsは、標準モジュールに以下のコードが、

Public MyCombo As CommandBarComboBox
Const MySheetIndex As String = "list"

Sub AddCombo()
 Dim MyBar As CommandBar
 Dim MyCtrl As CommandBarButton
 Dim MySheet As Object
 Dim MyCaption As String
 MyCaption = thisworkbook.name & " シート一覧(&M)"

 Application.ScreenUpdating = false
 On Error Resume Next
 CommandBars(MySheetIndex).Delete

 Set MyBar = application.commandbars.add(name:=MySheetIndex, _
 Position:=msoBarTop, temporary:=True)

 Set MyCtrl = mybar.controls.add(type:=msoControlButton)
 With MyCtrl
  .OnAction = "addcombo"
  .Caption = "郊迅"
  .Style = msobuttoncaption
 End With

 Set MyCombo = mybar.controls.add(type:=msoControlDropdown)
 With MyCombo
  For Each MySheet In ThisWorkbook.Sheets
   ' If MySheet.Visible = xlsheetvisible Then '非表示のシートをリストに表示させない場合
    .AddItem MySheet.Name
    .OnAction = "movetoselectedsheet"
   ' End If
  Next
   .BeginGroup = true
   .DropDownLines = sheets.count
   .ListIndex = activesheet.index
   .Caption = mycaption
   .Style = msocombolabel
   .Tag = mysheetindex
 End With
 MyBar.Visible = true
 Application.ScreenUpdating = true
End Sub

Sub MoveToSelectedSheet()
 Dim MySelectedSheet As Object

 On Error GoTo errRefresh
 Set MySelectedSheet = thisworkbook.sheets(mycombo.text)

 With MySelectedSheet
  .Visible = xlsheetvisible
  .Activate
 End With

Exit Sub

errRefresh:
 AddCombo
End Sub

Sub DeleteCombo()
 Call RemoveBars(MySheetIndex)
End Sub

Function RemoveBars(strTagName As String)
 Dim cmdBar As CommandBar
 Dim cmdBarCtrl As CommandBarComboBox
 Dim strCBarName As String

 On Error Resume Next
 Set cmdBarCtrl = application.commandbars.findcontrol(msocontroldropdown, , Tag:=strTagName)
 Set cmdBar = cmdbarctrl.parent
 strCBarName = cmdbar.name
 Call RemoveCommandBars(strCBarName)
End Function

Sub RemoveCommandBars(strToRemove As String)
 On Error Resume Next
 Application.CommandBars(strToRemove).Delete
End Sub


 ThisWorkbookに以下のコードが書かれています。

Private Sub Workbook_NewSheet(ByVal Sh As Object)
 AddCombo
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 DeleteCombo
End Sub

Private Sub Workbook_Open()
 AddCombo
End Sub

 シート一覧のツールバーを表示するファイルはこちら(圧縮ファイルで18KB)です(マクロ入ってます)。




ツールバーを独立させて、ワンクリックで罫線を引く

【問題】
 例えば、A1:C10に格子と外枠太罫線を引く場合、以下の手順です。
1.A1:C10を選択
2.[書式設定]ツールバーの[罫線]ボタンの右横にある下向き矢印をクリック
3.[格子]ボタンをクリック
4.[書式設定]ツールバーの[罫線]ボタンの右横にある下向き矢印をクリック
5.[外枠太罫線]ボタンをクリック

 上記手順のうち、2,3及び4,5をそれぞれ一回の操作で実現できないでしょうか?

【回答】
 事前に以下の操作を行って、[罫線]ツールバーを独立させることで、ワンクリックで罫線を引くことができます。

1.[書式設定]ツールバーの[罫線]ボタンの右横にある下向き矢印をクリック
2.罫線一覧の上にある灰色のバーにマウスポインタを持っていく
→灰色のバーが青色になる
3.ドラッグしてワークシート上でドロップ
→[罫線]ツールバーが独立

 これで、以下の罫線をワンクリックで引けるようになります。

枠無し
下罫線
左罫線
右罫線
下二重罫線
下太罫線
上罫線+下罫線
上罫線+下二重罫線
上罫線+下太罫線
格子
外枠
外枠太罫線

 上記に他の罫線を追加するには以下の手順です。

1.メニュー[ツール]-[ユーザー設定]
→ユーザー設定ダイアログボックスが表示される
2.[コマンド]タブの左にある[分類]のところで[書式]をクリック
3.[コマンド]タブの右にある[コマンド]のところで以下のコマンドをそれぞれドラッグして、[罫線]ツールバーの上でドロップ

内側罫線
上罫線
縦罫線(内側)
横罫線(内側)
斜め罫線(右下がり)
斜め罫線(右上がり)

 他にも以下のコマンドなどは独立したツールバーにすることができます。

・[書式設定]ツールバーの[塗りつぶしの色]、[フォントの色]
・[グラフ]ツールバーの[グラフの種類]
・[図形描画]ツールバーの[オートシェイプ]の[線]、[フローチャート]など




ダブルクリックで書式の連続貼り付け

【問題】
 [標準]ツールバーに[書式のコピー/貼り付け]ボタンというのがあります。
 書式のコピー元のセルを選択してからこのボタンを押して、書式の貼り付け先のセルをクリックすると、書式がコピーされます。
 これを連続して異なるセルに貼り付けできるようにするにはどうしたら良いでしょうか?

【回答】

 [書式のコピー/貼り付け]ボタンをダブルクリックします。

【解説】

1.書式のコピー元のセルを選択
2.[標準]ツールバーに[書式のコピー/貼り付け]ボタンをダブルクリック

という操作を行うことで、連続して書式のコピーをすることができます。

 解除するには、
・Cancelキーを押す
または、
・もう一度 [書式のコピー/貼り付け]ボタンをクリック
です。

 他にも、[図形描画]ツールバーの[四角形]、[テキストボックス]ボタンなどもダブルクリックすることで連続して操作できるようになります。

 [図形描画]ツールバーの[オートシェイプ]にあるコマンドについては、ツールバーを独立させることで、同様にダブルクリックで連続操作ができるようになります。
 例えば、以下の手順です。

1.メニューバーの上のどこかで右クリック
2.[図形描画]をクリック
→[図形描画]ツールバーが表示される。
3.[オートシェイプ]-[線]
4.線の一覧の上にある灰色のバーにマウスポインタを持っていく
→[線]ツールバーが独立
5.[双方向矢印]ボタンをダブルクリック

 これで、ドラッグする度に双方向矢印が引けます。




値の貼り付けをキーボードで

【問題】

 セルの内容をコピー&ペーストする作業が多いのですが、罫線などはコピーしたくなく、セルの値だけをコピーしたいのです。
 現在は以下の手順でこれを行っています。

1.Ctrl+C (コピー)
2.値を貼り付ける先のセルを選択
3.右クリック−[形式を選択して貼り付け]
4.[値]にチェックしてEnter

 上記3.4.の手順をもっと簡単にするにはどうすれば良いでしょうか?

【回答】

 以下の手順で[値の貼り付け]をキーボードで実行(Alt+C)できるように設定します。

1.メニュー[ツール]-[ユーザー設定]
→[ユーザー設定]ダイアログボックスが表示される
2.[コマンド]タブの[分類]で 編集 を選択
3.[コマンド]の[値の貼り付け]ボタンをドラッグして、メニューバー上でドロップ
4.メニューバー上に表示された[値の貼り付け]ボタン上で右クリック
5.[名前]に &C と入力
6.[イメージとテキストを表示]をクリック
7.[ユーザー設定]ダイアログボックスの[閉じる]ボタンをクリック

【解説】

 これでCtrl+C (コピー)した後で、Alt+C で[値の貼り付け]が実行されるようになります。




シート見出しの名前をキーボードだけで入力

【問題】

 たくさんのシート見出しの名前を変更する作業があります。
 シート見出しをダブルクリックする方法もありますが、マウスでダブルクリックしてからキーボードで名前を変更する、という方法は面倒です。
 マウスを使わないでキーボードだけでシート見出しの名前を変更するにはどうしたら良いでしょうか?

【回答】

1.メニュー[ツール]-[ユーザー設定]
→[ユーザー設定]ダイアログボックスが表示される
2.メニュー[書式]-[シート]
3.Ctrlキーを押しながら[名前の変更(R)]をドラッグし、メニューバーないしはツー
ルバー上の好きな場所にドロップ

 これで、Alt+R(Altキーを押しながらR)でシート名の変更ができます。

【解説】