programing

사용자가 Fx 버튼을 클릭할 때 기본 엑셀 기능처럼 설명을 제공하는 UDF를 만드는 방법이 있습니까?

nicescript 2023. 6. 11. 22:11
반응형

사용자가 Fx 버튼을 클릭할 때 기본 엑셀 기능처럼 설명을 제공하는 UDF를 만드는 방법이 있습니까?

가 면하력으로 .=vlookup((또는 다른 기본 Excel 함수) 수식 표시줄에 있는 다음 수식 왼쪽에 있는 작은 Fx 단추를 클릭합니다. 사용 가능한 모든 인수가 포함된 함수 인수 프롬프트가 표시됩니다.이 프롬프트에서 함수 인수 아래에는 각 인수의 입력 상자에서 커서를 이동할 때 함수와 각 인수에 대한 한두 문장 설명이 있습니다.

UDF의 이름을 입력하고 Fx를 클릭하면 모든 인수에 대한 입력 상자가 표시되지만 그것으로 끝입니다.네이티브 엑셀 함수가 가지고 있는 것과 같은 유용한 유형의 설명을 추가할 수 있는 방법이 있습니까?

=FormulaName(셀에 넣은 다음 프레스합니다.Ctrl+Shift+A합니다.

응용 프로그램을 추가로 조사할 것을 제안합니다.매크로 옵션 메서드입니다.이 방법을 사용하면 함수에 대한 설명뿐만 아니라 각 인수에 대한 설명도 제공할 수 있습니다.예를 들어, 두 개의 인수를 사용하는 "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

예, 이를 위한 숨겨진 방법이 있습니다.

VBA에서 UDF를 정의한 후 Visual Basic Editor(Visual Basic 편집기)F2에서 Object Browser(개체 탐색기)로 이동합니다.여기, 상단 드롭다운에서 다음을 선택합니다.VBAProject아래 창에서 UDF로 이동한 후 마우스 오른쪽 단추를 클릭합니다.Properties:

여기에 이미지 설명 입력

속성에서 설명을 제공할 수 있습니다.

여기에 이미지 설명 입력

특정 범주에 기능을 추가하는 방법과 같은 추가 정보가 필요한 경우 이 OzGrid 기사를 확인하십시오!

아래에 작성한 것과 같은 기능을 만듭니다.기능 회사 이름:

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

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


End Function

코드 아래에서 한 번 실행하면 함수에서 인수 설명을 얻을 수 있습니다.

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

편집

저는 당신이 VBA에서 UDF를 만들고 있다는 것을 방금 알았기 때문에 제 답변이 당신의 상황에 적용되지 않을 수 있습니다.


Excel SDK의 샘플 프로젝트 중 하나인 Generic을 살펴보세요.

그것은 기반을 만들기 위한 최소한의 골격입니다.

헤더 include 문 바로 뒤에 행이 XLL의 UDF 수를 나타내고 열이 특정 UDF 설명에 사용되는 2차원 배열 선언이 표시됩니다.

첫 번째 열은 UDF 이름에 사용되고 그 다음에 UDF에 있는 각 매개 변수의 데이터 유형을 나타내는 문자가 포함된 문자열이 사용됩니다.

이 열은 각 매개변수에 대한 설명 텍스트를 UDF에 넣는 데 사용할 수 있습니다.

열 수는 매개 변수 수가 가장 많은 UDF와 매개 변수 수가 적은 UDF가 이러한 UDF에서 매개 변수 수를 초과하는 값으로 빈 문자열을 사용하여 결정됩니다.

그러나 이러한 설명은 Fx 아이콘을 클릭할 때 나타나는 대화 상자에 표시됩니다.

언급URL : https://stackoverflow.com/questions/14731675/is-there-a-way-to-make-udf-that-gives-a-description-like-the-native-excel-functi

반응형