日付けが入っているセルを、
メニューバーの[編集]-[クリア]-[書式設定]で
書式設定をクリアすると
フォントの色だけをなくしたいだけでも
「表示形式」までクリアされて数字になってしまいます。
そこで、また表示形式を設定しなおす…
なんてことをしたことありませんか?
エクセルにとっては、「表示形式」も「装飾」も
「表面的なこと」で括られているようです。
人間にとっては、「表示形式」が設定されてないと
理解できない場合が多いと思います。
逆に「装飾」はなくても情報は伝わります。
(ここでいう「装飾」とは、
フォントの色・大きさ・太さやセルの枠線、背景の色など。)
人間の感覚的に「表示形式」と「装飾」は違うと思いますが、
それを「書式設定」とひとつにまとめてクリアするところに不便を感じます。
この不便を解消するために、
[編集]-[クリア]で現れる項目に
[表示形式]と[装飾]を追加します。
コードはこちら
まず下のコードを標準モジュールにコピペします。
表示形式と装飾をクリアするコード:Sub ClearNumberformat() '書式の中の「表示形式」をクリアする
Selection.NumberFormatLocal = "G/標準" End Sub
Sub ClearDecoration() '書式の中の「装飾」をクリアする
With Selection .Interior.ColorIndex = xlNone .Borders.LineStyle = xlNone .Interior.Pattern = xlPatternNone .HorizontalAlignment = xlLeft .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .MergeCells = False End With With Selection.Font .ColorIndex = xlAutomatic .Bold = False .Italic = False .Name = Application.StandardFont .OutlineFont = False .Shadow = False .Size = Application.StandardFontSize .Strikethrough = False .Subscript = False .Superscript = False .Underline = xlUnderlineStyleNone End With End Sub |
これら2つのコードは、
選択している範囲をそれぞれ「表示形式」と「装飾」をクリアします。
次のコードで
[編集]-[クリア]で現れる項目に
[表示形式]と[装飾]を追加します。
VBAでメニューをカスタマイズする方法については、
マイクロソフトサポートオンラインの次の頁が詳しいです。
『Excel のメニューおよびメニュー バーをカスタマイズする方法』
表示形式と装飾をメニューに追加するコード:Sub macro100501a() 'メニューバーの[編集]-[クリア]の項目に追加 '[表示形式]…書式の中の「表示形式」をクリアする '[装飾]…書式の中の「装飾」をクリアする
With CommandBars("Worksheet menu bar").Controls("編集(&E)"). _ Controls("クリア(&A)") .Controls.Add(Type:=msoControlButton, Before:=1).Caption _ = "表示形式" .Controls("表示形式").OnAction = "ClearNumberformat" .Controls.Add(Type:=msoControlButton, Before:=1).Caption _ = "装飾" .Controls("装飾").OnAction = "ClearDecoration" End With End Sub |
実行後のメニュー
最後に、追加したメニューを削除するコードです。
表示形式と装飾をメニューから削除するコード:Sub macro100501b() '[表示形式]と[装飾]をメニューから削除する
With CommandBars("Worksheet menu bar"). _ Controls("編集(&E)").Controls("クリア(&A)") .Controls("表示形式").Delete .Controls("装飾").Delete End With End Sub |
Excel2007からはメニューがなくなって
「リボン」なるものになったようですので
メニューの追加はできないと思います。
コメント