Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » ユーザー定義書式を表示させたい


ユーザー定義書式を表示させたい

対象:Excel97,Excel2000,Excel2002,Excel2003

ユーザー定義関数を使ってセルに入力されている数式を別のセルに表示させる方法を、ご紹介しました。

似たようなことですが、
セルに設定されている表示形式を別のセルに表示させたい
という要望をセルの書式設定の重要性に気づいた方からいただくことがあります。

また、セルの情報を取得できるCELL関数を知った方からは、
CELL関数の第1引数に「"format"」を指定すると、第2引数で指定されたセルの表示形式が調べられるみたいですが、ユーザー定義書式を表示させるにはどうすればいいのでしょう?
というご質問をいただくことがあります。

[スポンサードリンク]

残念ながらCELL関数で取得できる書式の情報は、「D4」「C0-」というコードなので、このコードが何を表しているのかを調べなければなりません。

[セルの書式設定]ダイアログ−[表示形式]タブの[分類]欄で「ユーザー定義」を選択したときと同じ情報を取得するには、数式を表示させるユーザー定義関数と非常によく似たコードをVBAで書いてしまう方が簡単です。


▼表示形式を表示させるユーザー定義関数
Function ViewFormat(objCell As Range) As String

     ViewFormat = objCell.NumberFormatLocal

End Function

上記のコードをVBE(Visual Basic Editor)を起動して標準モジュールに貼り付ければ、通常のワークシート関数と同様に使えます。

例えば、A1セルに「#,##0.0;[赤]#,##0.0」という書式が設定されているときに、B1セルに「=ViewFormat(A1)」とすれば、B1セルには「#,##0.0;[赤]#,##0.0」と表示されます。

Excelで業務アプリを作ったようなときに、セルに設定されている表示形式を印刷しておきたいということもあるでしょう。そんなときなどに使ってみてください。

関連語句
自作関数
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » ユーザー定義書式を表示させたい

TrackBack:4

TrackBack URL
表示形式をステータスバーに表示 from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 セルの表示形式を別のセルに表示させるためのユーザー定義関数をご紹介しました。 表示形式を簡単に確認するためであれば、オートカルクのような雰囲気で、ステータスバーに表示させる方が便利かもしれません。...
ユーザー定義関数の説明をダイアログに表示 from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 このサイトでもこれまでいくつかユーザー定義関数をご紹介してきました。 ・ファイルの最終更新日時を取得したい−LastSaveTime関数 ・数式を別のセルに表示させたい−ViewFormula関数 ・ユーザー定義書式を表示させたい−ViewFormat関数 ...
#,###と#,##0の違いは? from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 Excelでは書式設定記号を使って表示形式を指定す...
同じ文字を繰り返す書式記号は?−アスタリスク from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 [セルの書式設定]ダイアログ−[配置]タブ−[文...

Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » ユーザー定義書式を表示させたい

「ユーザー定義関数」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.