• ベストアンサー

ユーザー定義関数について

ここで良いのかわかりませんが質問します。 現在、ExcelVBAをすこしかじりました。 ユーザー定義関数を作りましたが、第三者に簡単にわかるようにしたいと思います。fxボタンを押せばなんとなく第三者でもわかりそうですが、ボタンの存在を知らない人はわからないと思いました。 ワークシート上では直接関数を打てば、直下にコメントのようなスタイルでどの数値を入れればよいか出てくると思います。 =round( と打てば =round( (数値,桁数) というように出てくるのですが、ユーザー定義関数でこのようなことはできるのでしょうか? これが出来る出来ないでは第三者への進め方が大きく違ってきます。 教えてgooはもちろんいろいろ調べましたがわかりません。 何卒ご指導お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

ワークシートのセル上で関数入力時に表示されるツールチップの ことですか? それならば、不可能です。 #2 のご回答に補足します。 > Excel 2003 からできるようになった、という内容を見たような > 気がしていたのですが 確か、「関数の挿入」ダイアログで「関数の分類」にカスタムカテゴリ を登録できるようになった...といった内容だったと記憶しています。 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbaxl11/html/xlmthMacroOptions1.asp Excel2002 以前のバージョンでは、組み込みのカテゴリにしか登録 できません。どうも、裏技があって登録は可能なようですが、詳細 は知りません。

その他の回答 (2)

回答No.2

どこかの質問&回答で、Excel 2003 からできるようになった、という内容を見たような気がしていたのですが、Excel 2003 で試してみましたができませんでした。 お騒がせしました。m(_ _)m

回答No.1

Excel のバージョンは 2003 ですか? 今、手元に Excel 2003 がないので確認できないのですが、確か、Application.MacroOptions を使用すれば、そういったことができたような気がします。

eliemylove
質問者

補足

早々のご回答ありがとうございました。 バージョンはExcel2002、OSはwin2000です。 >確か、Application.MacroOptions を使用すれば、そういったことができたような気がします。 それはこういうことでしょうか? Sub explain_total() Application.MacroOptions Macro:="total", _ Description:="合計を求めます。" End Sub 上記ですと【関数の引数】上には出てくるのですが、数式を入力と中では出てきません。 どうぞ詳しく教えてください。 よろしくお願いします。

関連するQ&A

  • Excel2007 ユーザー定義関数の挿入

    いつもお世話になっています。 ユーザー定義関数を作ったのでワークシート内に挿入したいのですが 2003までのバージョンのように関数の挿入にユーザー定義関数の カテゴリが見つかりません。 ご存じの方教えてください。

  • EXCELでユーザー定義関数を使用するには

    EXCELでユーザー定義関数を使用するにはどうしたらいいのでしょう。 functionを定義して、ワークシートで使用しても、#NAMEエラーが出てしまいます。

  • ユーザー定義関数が入力されたセルを調べたい

    Excel でユーザー定義関数を作成し、アドインにして仕事で使っています。 これらの関数を使用したブックを外部に配布する時にユーザー定義関数を値に変換してから配布したいのですが、ユーザー定義関数とワークシート関数の区別の方法が判りません(外部にアドインは配布しません)。 Dim r As Range Dim f As String For Each r In Activesheet.UsedRange If r.HasFormula Then f = r.Formula Do ' f がユーザー定義関数の一覧の中に見つかれば、セル r の色を変えてループ脱出 Loop End If Next という方法を試みましたが、UsedRange の大きさやユーザー定義関数の数が多いことも影響して結構な時間が掛かってしまいます。 ユーザー定義関数とワークシート関数を区別する方法があれば、Do~Loop を回さなくて済むので、時間短縮できるのではないかと考えています。 よろしくお願いします。

  • ExcelVBA ユーザ定義関数と定数配列

    2010以降のExcelVBAです ユーザー定義関数として使うfunction 此の引数として 幾つかの項に配列数式、又は定数配列を与えたいのです が、 此の際の 引数の受け方と処理の仕方 此が判りません 例を交え お教え願えないでしょうか? 宜しくお願い致します。

  • ユーザ定義のセル書式の作成について質問

    質問1:♯の記号は有効桁数を表示して、余分な0を表示しないもののようですが、 1234.5の入力データーについて、ユーザ定義の「♯,♯♯♯.♯♯」を適応すると、1,234.5になり、有効桁数6ケタにもかかわらず、5桁しか表示されません。何故ですか? 質問2:♯の記号の数の分だけが有効桁数となりますが、その桁数以上のデータが入力された場合、その♯の記号の分だけしか表示されず、それ以上の桁数は表示されないのでしょうか? 質問2:「,」について、♯,♯♯♯,,のユーザ定義を1000000のデータに適応すると、1になりますが、この時のユーザ定義の文尾の「,,」は数値を1000で除算した上で少数部を四捨五入するという意味だと思うのですが、そもそも上記のユーザ定義では少数点の位置が指定されてないのに、何故四捨五入され1になるのでしょうか? 質問3:♯.0♯のユーザ定義を、15のデータに適応すると、15.0になるようですが、この結果のように0が入力されると、その0は入力されてるデータの一番後ろに来るんですか?

  • セルにユーザー定義で思う様な表示が出来ない

    いつもお世話になります。 ユーザー定義で  [=1]"○";[=2]"◎";"有"  と設定し 1や2や3で「○」 「◎」 「有」が呼び出せるようにしたのですが そのセルに8:00と入れるとfxのバー(関数を入れるところ)に0.33333・・・と出ていて 実際のセルには「有」と表示されます。 8:00と入れたところは「8:00」のとなって欲しいし、更に別のコメントを入れることもしたいのです。 1、2、3、をを入れた時だけ確実に「○」 「◎」 「有」が返って来て、それ以外のコメントを入れてもそのままのコメントを表示するというようなことは無理なのでしょうか? 8:00という時刻の数字が問題なのでしょうか? 初歩的な質問で、大変恐縮ですが、どなたかお助けいただけませんでしょうか。 ちなみに、当方はエクセル2010を使用しております。

  • エクセル IF関数で偽ユーザー定義を適用、真ユーザー定義を適用しない。

    あるセルに 「unsold」と入れた場合、そのまま「unsold」と入力され、 それ以外の数値を入れた場合 「”¥@”@」というユーザー定義を適用したいのですが、これをIF関数か何かでできますか?

  • ユーザー定義関数の使用法

    公開されたサイトですばらしいユーザー定義のマクロを見つけました。 ワークシート関数Datedifのバグを解決するものです。 しかし、残念ながら書いてある説明だけでは使い方がわからないのです。 ご教示いただければ幸いです。 これです。↓Public Function ktDATEDIF http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips05.htm

  • ユーザー定義関数を作りVBAで記述

    aaaと言う、ユーザー定義関数を作りVBAで記述して使う場合はどのように記述すればよいでしょうか。 通常のワークシート関数であれば、 Cells(1, 1) = Application.Sum(Range("G1:G100")) などとなりますが、 Cells(1, 1) = Application.aaa(Range("G1:G100")) とするとエラーになります。 初歩的な質問だとは思いますが、よろしくお願いします。

  • EXCEL VBA ユーザー定義関数について。

    EXCEL VBA ユーザー定義関数について。 例) FUNCTION Test(a as integer, b as integer,c as integer) as integer とした場合、に添付図のような   =Test(数値1, 数値2, 数値3) のような説明は表示できないのでしょうか? ご存知の方よろしくお願いします。

専門家に質問してみよう