source

Excel VBA에서 사용자 정의 워크시트 함수 생성

manysource 2023. 8. 8. 21:43

Excel VBA에서 사용자 정의 워크시트 함수 생성

저는 VBA 함수를 사용하여 Excel에서 다음과 같은 값을 계산할 수 있었던 기억이 희미합니다(셀 공식).

=MyCustomFunction(A3)

할 수 있을까요?

편집:

다음은 내 VBA 기능 서명입니다.

Public Function MyCustomFunction(str As String) As String

이 함수는 다음에 위치합니다.ThisWorkbook모듈.위와 같이 워크시트에 사용하려고 하면 다음과 같이 됩니다.#NAME?오류


솔루션(고맙습니다, 코덱):정의된 경우 함수에 액세스할 수 없습니다.ThisWorkbook모듈.워크북에 수동으로 추가된 "적절한" 모듈에 있어야 합니다.

네, 가능합니다.모듈에서 VBA 기능을 정의하기만 하면 됩니다.예를 들어 좋은 소개를 보려면 http://www.vertex42.com/ExcelArticles/user-defined-functions.html 을 참조하십시오.

다음은 간단한 예입니다.

  • 새 워크북 만들기
  • VBA 보기로 전환(Alt-F11)
  • 모듈 삽입:삽입 | 모듈
  • 모듈 내용:
옵션 명시적
함수 내 사용자 정의 함수(입력)내 사용자 정의 함수 = 42 + 입력함수 종료
  • 워크시트(Alt-F11)로 다시 전환하고 다음 값을 입력합니다.
답 1:2A2: = 내 사용자 정의 기능(A1)

단어 입력은 기본 키워드이기 때문에 교체해야 합니다.대신 숫자를 사용합니다.유형(예: 변형)을 지정하여 더 멀리 이동할 수도 있습니다.

Function MyCustomFunction(num As Variant)
    MyCustomFunction = 42 + num
End Function

언급URL : https://stackoverflow.com/questions/755812/create-a-custom-worksheet-function-in-excel-vba