15

数式バーに=vlookup((または他のネイティブExcel関数を)入力してから、数式の左側にある小さなFxボタンをクリックすると、使用可能なすべての引数を含む関数の引数プロンプトが表示されます。そのプロンプトの関数引数の下には、各引数の入力ボックスからカーソルを移動したときの関数と各引数の1文または2文の説明があります。

UDFの名前を入力してFxをクリックすると、すべての引数の入力ボックスが表示されますが、それだけです。ネイティブExcel関数と同じ便利な種類の説明を追加する方法はありますか?

4

5 に答える 5

32

=FormulaName(セルに入力してからを押すとCtrl+Shift+A、引数の参照名が入力されます

于 2013-02-06T15:15:25.117 に答える
32

Application.MacroOptionsメソッドをさらに調査することをお勧めします。このメソッドを使用すると、関数の説明だけでなく、各引数の説明も提供できます。たとえば、2つの引数を取る「SampleFunction」という関数がある場合、次のコマンドを実行すると、関数でfxボタンを使用できるように設定されます。

Private Sub RegisterMyFunction()
    Application.MacroOptions _
        Macro:="SampleFunction", _
        Description:="calculates a result based on provided inputs", _
        Category:="My UDF Category", _
        ArgumentDescriptions:=Array( _
            "is the first argument.  tell the user what it does", _
            "is the second argument.  tell the user what it does")
End Sub
于 2014-02-20T19:27:57.060 に答える
27

はい、それを行うにはやや隠された方法があります:

VBAでUDFを定義したら、Visual Basic Editorのオブジェクトブラウザに移動します(F2)。ここで、上部のドロップダウンで、を選択しますVBAProject。下のウィンドウで、UDFに移動して右クリックし、次を選択しますProperties

ここに画像の説明を入力してください

プロパティで、説明を指定できます。

ここに画像の説明を入力してください

特定のカテゴリに関数を追加する方法など、さらに情報が必要な場合は、このOzGridの記事を確認してください。

于 2013-02-06T15:15:11.390 に答える
3

編集

VBAでUDFを作成していることをお知らせしたので、私の回答はあなたの状況に当てはまらない可能性があります。


Genericと呼ばれるExcelSDKのサンプルプロジェクトの1つを見てください。

構築するための最低限のスケルトンです

ヘッダーインクルードステートメントの直後に、行がXLL内のUDFの数を表し、列が特定のUDFの説明に使用される2次元配列の宣言に気付くでしょう。

最初の列はUDFの名前に使用され、その後にUDFの各パラメーターのデータ型を表す文字を含む文字列が続きます。

これらの列は、UDFの各パラメーターの説明テキストを配置するために使用できます。

列の数は、パラメーターの数が最も多いUDFによって決定され、パラメーターの数が少ないUDFは、そのようなUDFのパラメーターの数を超える値として空の文字列を使用します。

ただし、これらの説明は、Fxアイコンをクリックするとポップアップするダイアログボックスに表示されます。

于 2013-02-06T15:00:43.473 に答える
1

以下で作成したような関数を作成します。関数CompanyNames:

Function CompanyNames(CompanyCode As Integer, Data As Range) As String

CompanyNames = WorksheetFunction.VLookup(CompanyCode, Data, 2, False)


End Function

以下のコードを1回実行すると、関数で引数の説明が表示されます

Sub DescribeFunction()

Dim FuncName As String
Dim FuncDesc As String
Dim Category As String
Dim ArgDesc(1 To 2) As String

FuncName = "CompanyNames"
FuncDesc = "Returns the Company Name"

ArgDesc(1) = "Provide the Company Code"
ArgDesc(2) = "Select Range to lookup"


Application.MacroOptions _
  Macro:=FuncName, _
  Description:=FuncDesc, _
  Category:=Category, _
  ArgumentDescriptions:=ArgDesc
End Sub
于 2018-04-02T12:11:49.503 に答える