リボンの設定に関して。そろそろ新生活スタートの季節。社会人になる方も多いだろう。なのでたまにはExcelに関して書いてみる。
リボンをカスタムする
ショートカットを覚えたり数式を覚えたりはする人が多いが、意外にもリボンをカスタムする人は少ないように思う。リボンとはOffice系ソフト全般の上の部分。下の画像でハイライトしたような箇所。なんかよー分からんけどいろいろ並んでる部分、的な。画像はWordのもの。Excelのはカスタムし過ぎて元がどんなのか忘れた。
カスタムしたExcelのリボン部分はこんな感じ。自作のアドイン多め。
カスタム方法
Excelを開いてすぐの画面(何かのブックを開いている場合は左上の「ファイル」をクリック)で左下の方にある「その他...」をクリック、そこで出てくる「オプション」をクリック。
オプションをクリックすると下の図のような画面が出てくるので、「リボンのユーザー設定」をクリック。
後はいじってたら分かる。ざっくり言えば上の図、右側の枠が今、Excelに表示されている項目。左側の枠が使える機能の一覧。欲しい機能、追加したい場所を左側の枠から選んで「追加(A)>>」を押すと、常に表示される部分に追加することが出来る。
念のため書いておくと「タブ」は上に並んでいる上の図の部分。クリックしてリボン部分を切り替える部分。
右側の枠の中では項目をドラッグして上下に動かすことで、表示順を変えることができる。右側にある▲、▼ボタンでも可能。デフォルトで表示されているタブの項目は自由なカスタムがあまり出来ないが、「新しいタブ」でタブを新設してしまえばいろいろできる。上の画像で各項目に「(ユーザー設定)」と出ているのはそのため。
そのほか、「名前の変更」を選べば各項目を任意の名前に変えられるし、アイコンまで変えることが出来る。自作のアドインを使う場合は変更必須。
自作アドイン紹介
*ご利用は自己責任で
アドイン自体の作り方、設定の仕方は簡単なので個別に調べて欲しい。検索すれば出てくるので、私が自作して使っているアドインの内容だけ紹介する。設定さえしてしまえば1クリックでいろいろ出来るようになるので便利。
なお、VBAで実行しているのですべて「元に戻す」では元に戻せない点に注意。どうしても戻したい場合はブックを「変更内容を保存しない」を選択して閉じるしかない。
一番上まで戻る
下までスクロールしていて上まで戻るのが面倒くさい時に使う。このコードの場合は5行目、5列目のセルを選択することで画面表示を上まで戻す。Cells(1, 1)にすればセルA1が選択されるようになる。
一番下を表示させる
* l →小文字のL
一番下のデータの部分を表示させる。このコードの場合は「どうせ2列目か3列目くらいには何かしらのデータがあるだろう」と思って作ってある。選択するのは2列目の一番下のデータか3列目の一番下のデータ。1列目は個人的に何かしらの後付用に空けたりするので。
真ん中の行を表示させたいなら「l = Cells(Rows.Count, 3).End(xlUp).Row」のすぐ下に改行して「l = WorksheetFunction.Round( l / 2, 0 )」とか入れれば良いんじゃね(必要性を感じたことは無い)。
左端のシートに戻る
シートが多くて移動が面倒くさい時に使う。シート1 (一番左のシート)を選択して、なおかつセルA1を選択するコード。「Cells(1,1).Activate」を省略すれば一番上に戻る機能は省略できる。
右端のシートを選択する
シートが多くて(ry。一番右側にあるシートを選択して、同時にセルA1を選択して画面表示も上に戻す。シートの数はブックによって異なるので、変数 iに「i = Worksheets.Count」で格納している。
中央のシートを表示させる
シートが多(ry。シート数が奇数の時は真ん中の数字のシートを表示させる。偶数の時は2で割った数のシートを表示させる。
例)シートが5 →シート3を表示
例)シートが4 →シート2を表示
選択しているセルのフォントを任意のフォントにする
フォントの変更でいちいちドロップダウンから選ぶのが面倒なので。「.Name = ""」の""(ダブルクオーテーション)内を任意のフォント名に変えれば好きなフォントに変更できるようになる。Cambriaは個人的に見やすいと思った英数字のフォントなので。
「With Selection」にしているので選択している部分が対象。セル1つだけでなく範囲選択、行、列ごと、あるいは全体選択でも可。
全てのフォントをMS P明朝体にする
Excelはフォント選択が面倒くさい上に、よく使うフォントを上に表示してくれないし勝手にフォントが変わる。MS P明朝を全体で使いたいのに、たまに入力した文字に限って勝手にMS Pゴシックになっていたりする。なので作成。有無を言わさず全てのセルのフォントをMS P明朝にする。" "の中は別のフォント名にしても良い。
これを実行した後に先の「フォントをCambriaに」を実行すると、半角の文字だけがCambriaに変わる(Cambriaは半角英数だけに対応しているので)。
セルの表示形式を変更する
数字を扱う職業柄、, (カンマ)区切りが無いと我慢ならないので作成。上のコードでは選択した範囲のフォントを「Cambria」に変更し、同時に表示形式を「通貨(マイナスは赤字)」に変更する。「NumberFormatLocal = ""」の""内を任意の表示形式にすればそれ以外も可能。
数式から数字に置き換える
選択している範囲をコピーして「値として貼り付け」を実行する。数式クラッシャーなので数式命のシートでは使用してはいけない。
セルの色を緑にする
選択した部分のセルの色を緑にする。「ColorIndex = 」の後の数字を変えれば任意の色に変えられるようになる。ただし、カラーインデックスは使える色に限りがあるので注意(詳細はggって、どうぞ)。
カラーインデックスの簡単な覚え方
黒白RGBYMC
「こくびゃく+光の三原色+印刷色」。よく使うのは1:Black、3:Red、4:Green、6:Yellowあたり。それ以外で色を指定したいのであれば「ColorIndex」ではなく「Color」を使う。ただ少々色の指定が面倒くさいのでここでは説明しない。
黒背景に白字
前述したものの亜種。セルの色を黒にして同時に文字の色(Font.ColorIndex)を白に指定する。当然、黒背景に黒字は見えないので。背景色を赤(Index=3)にする場合でもフォントは白にするのがおすすめ。
セルの背景色を無しにする
セルの背景色を「塗り潰しなし」にし、同時にフォントの色を黒に再設定する。フォントの色まで変えるのは、前述した背景色黒+フォントの色を白にした場合、ただ単に塗りつぶし無しにしただけでは文字だけ白いままで見えなくなるので。
カラーインデックスが「-4142」が「塗り潰しなし」のインデックス。これももしVBAを使うなら覚えておいて損は無い。
セルの色を任意の範囲でストライプ模様にする
選択範囲内のセルの色を薄いグレーと塗り潰し無しでストライプ状にする。薄いグレーはカラーインデックスでは指定しづらいので「Color = 14540253」で指定している。
スポイト
次の「塗り潰し」とセットで使う。セルの色を変えたは良いけど、同じ色に設定するのが面倒くさい、難しい、という事があるので作成。選択中のセルの色番号をクリップボードに格納する。ぶっちゃけ範囲選択している場合にどうなるのかは確認していないので、使う場合はセルを1つだけ選択して使うこと。
塗り潰し
前述の「スポイト」とセットで使う。選択範囲のセルの背景を「スポイト」で格納した色で塗りつぶす。一応、エラートラップがあるのでカラー番号が無い場合などはそこで止まる。
1ページ目だけ印刷する
問答無用で1ページ目にあたる部分だけを印刷する。仕事上、1ページだけ印刷することが多いので作成。はみ出していても問答無用で1ページ目だけ。「from:=」、「To:=」の後を任意の数字に変えれば何ページ目から何ページまでということも出来る。
上書き保存して閉じる
開いているブックが1つだけなら上書き保存してExcel自体を終了、そうでないなら作業中のブックだけ上書き保存して閉じる。
余談:行と列の覚え方
大体みんな知っているとは思うが私はこういう覚え方をしている。水平の並びが行、垂直の並びが列。VBAでの「Cells(1, 2)」といった書き方の中身もこの「行列」の順。「Cells(1, 2)」は「1行、2列目のセル」という意味。