Excel에서 사용자 지정 함수를 사용하고 저장하는 방법

  • 이 공유
Michael Brown

오늘은 맞춤 Excel 함수를 계속 살펴보겠습니다. UDF를 만드는 방법을 이미 알고 있으므로(그리고 Excel에서도 UDF를 적용해 보았기를 바랍니다.) 좀 더 자세히 알아보고 Excel에서 사용자 정의 함수를 사용하고 저장하는 방법을 알아보겠습니다.

또한 기능을 Excel 추가 기능 파일에 쉽게 저장하여 나중에 몇 번의 클릭만으로 사용할 수 있는 방법을 보여드리겠습니다.

그래서 여기서 이야기할 내용은 다음과 같습니다.

    Excel에서 UDF를 사용하는 다양한 방법

    워크시트에서 UDF 사용

    UDF가 올바르게 작동하는지 확인한 후 Excel에서 UDF를 사용할 수 있습니다. 수식 또는 VBA 코드에서.

    일반 함수를 사용하는 것과 같은 방식으로 Excel 통합 문서에서 사용자 지정 함수를 적용할 수 있습니다. 예를 들어 셀에 아래 수식을 작성하면 됩니다.

    = GetMaxBetween(A1:A6,10,50)

    UDF는 일반 함수와 함께 사용할 수 있습니다. 예를 들어 계산된 최대값에 텍스트를 추가합니다.

    = CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))

    아래 스크린샷에서 결과를 볼 수 있습니다.

    You 최대값이면서 10에서 50 사이의 숫자를 찾을 수 있습니다.

    다른 공식을 확인해 보겠습니다.

    = INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the

    맞춤 함수 GetMaxBetween 은 B2:B9 범위를 확인하고 10과 50 사이의 최대 수를 찾습니다. 그런 다음 INDEX + MATCH를 사용하여 이 최대 값과 일치하는 제품 이름을 얻습니다.

    보시다시피 사용자 지정 함수의 사용법은 일반 엑셀과 크게 다르지 않습니다.functions.

    이 작업을 수행할 때 사용자 정의 함수는 값을 반환할 수만 있고 다른 작업은 수행할 수 없다는 점을 기억하십시오. 사용자 정의 함수의 제한 사항에 대해 자세히 알아보십시오.

    VBA 프로시저 및 함수에서 UDF 사용

    UDF는 VBA 매크로에서도 사용할 수 있습니다. 아래에서 활성 셀을 포함하는 열에서 10에서 50 사이의 범위에서 최대값을 찾는 매크로 코드를 볼 수 있습니다.

    Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( Cells(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Cells(ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween(.Cells, 10, 50) i = Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End Sub

    매크로 코드에는 사용자 지정 함수가 포함되어 있습니다.

    GetMaxBetween(.Cells, 10, 50)

    It 활성 열에서 최대값을 찾습니다. 그러면 이 값이 강조 표시됩니다. 아래 스크린샷에서 매크로의 결과를 볼 수 있습니다.

    사용자 정의 함수는 다른 사용자 정의 함수 내에서도 사용할 수 있습니다. 이전 블로그에서 SpellNumber 라는 사용자 지정 함수를 사용하여 숫자를 텍스트로 변환하는 문제를 살펴보았습니다.

    이 기능을 사용하면 범위에서 최대값을 얻을 수 있고 즉시 텍스트로 작성합니다.

    이를 위해 함수를 사용할 새 사용자 지정 함수를 만듭니다. GetMaxBetween SpellNumber 은 우리에게 이미 친숙한 것입니다.

    Function SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxBetween (rngCells, MinNum, MaxNum)) End 함수

    보시다시피 GetMaxBetween 함수는 다른 사용자 정의 함수인 SpellNumber 에 대한 인수입니다. 이전에 여러 번 수행한 것처럼 최대값을 정의합니다. 그런 다음 이 숫자는 텍스트로 변환됩니다.

    위 스크린샷에서 SpellGetMaxBetween 함수가 100에서 500 사이의 최대 숫자를 찾는 방법과 그런 다음 텍스트로 변환합니다.

    다른 통합 문서에서 UDF 호출

    통합 문서에 UDF를 만들었다고 해서 불행하게도 문제가 전혀 발생하지 않는다는 의미는 아닙니다.

    내 경험상 대부분의 사용자는 조만간 개별 프로세스 및 계산을 자동화하기 위해 매크로 및 사용자 지정 기능의 개인 컬렉션을 만듭니다. 그리고 여기서 문제가 발생합니다. Visual Basic의 사용자 정의 함수 코드는 나중에 작업에 사용하기 위해 어딘가에 저장해야 합니다.

    사용자 지정 함수를 적용하려면 저장한 통합 문서가 열려 있어야 합니다. 당신의 엑셀에서. 그렇지 않으면 #NAME! 사용하려고 하면 오류가 발생합니다. 이 오류는 Excel에서 수식에 사용하려는 함수의 이름을 알지 못함을 나타냅니다.

    방법을 살펴보겠습니다.

    방법 1. 함수에 워크북 이름 추가

    워크북 이름 앞에 워크북이 위치한 워크북의 이름을 지정할 수 있습니다. 기능. 예를 들어 My_Functions.xlsm 이라는 통합 문서에 사용자 지정 함수 GetMaxBetween() 을 저장한 경우 다음 수식을 입력해야 합니다.

    = My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)

    방법 2. 모든 UDF를 하나의 공통 파일에 저장

    모든 사용자 지정 함수를 하나의 특수 통합 문서(예: My_Functions.xlsm )에 저장하고 여기에서 원하는 함수를 필요한 경우 현재 통합 문서.

    새 사용자 정의 함수를 생성할 때마다 이를 사용할 통합 문서에 해당 코드를 복제해야 합니다. 이 방법을 사용하면 몇 가지 불편함이 발생할 수 있습니다.

    • 작업 파일이 많고 모든 곳에서 기능이 필요한 경우 각 책에 코드를 복사해야 합니다.
    • 통합 문서를 매크로 사용 가능 형식(.xlsm 또는 .xlsb)으로 저장하는 것을 잊지 마십시오.
    • 이러한 파일을 열 때마다 매크로 방지 기능이 경고를 표시하므로 이를 확인해야 합니다. 매크로를 활성화하라는 노란색 막대 경고가 표시되면 많은 사용자가 겁을 먹습니다. 이 메시지를 보지 않으려면 Excel 보호를 완전히 비활성화해야 합니다. 그러나 이것이 항상 정확하고 안전한 것은 아닙니다.

    당신은 항상파일에서 사용자 정의 함수의 코드를 복사하거나 이 파일의 이름을 수식에 쓰는 것은 최상의 솔루션이 아닙니다. 그래서 세 번째 방법으로 왔습니다.

    방법3. 엑셀 애드인 파일 만들기

    자주 사용하는 커스텀 함수를 엑셀 애드인 파일에 저장하는 것이 가장 좋은 방법인 것 같아요 . 추가 기능 사용의 이점:

    • 추가 기능을 Excel에 한 번만 연결하면 됩니다. 그 후에는 이 컴퓨터의 모든 파일에서 해당 절차와 기능을 사용할 수 있습니다. 통합 문서를 .xlsm 및 .xlsb 형식으로 저장할 필요가 없습니다. 소스 코드가 통합 문서에 저장되지 않고 추가 파일에 저장되기 때문입니다.
    • 추가 기능은 항상 신뢰할 수 있는 소스를 참조합니다.
    • 추가 기능은 별도의 파일입니다. 컴퓨터에서 컴퓨터로 쉽게 전송하고 동료와 공유할 수 있습니다.

    추가 기능을 만들고 사용하는 방법에 대해서는 나중에 자세히 설명하겠습니다.

    추가 기능 사용- 사용자 지정 기능을 저장하기 위한 기능

    나만의 추가 기능을 만들려면 어떻게 해야 합니까? 이 프로세스를 단계별로 살펴보겠습니다.

    1단계. 추가 기능 파일 만들기

    Microsoft Excel을 열고 새 통합 문서를 만든 다음 적절한 이름으로 저장합니다(예: My_Functions) 추가 기능 형식입니다. 이렇게 하려면 메뉴 파일 - 다른 이름으로 저장 또는 F12 키를 사용하십시오. 파일 유형을 지정해야 합니다. Excel Add-in :

    추가 기능의 확장자는 .xlam입니다.

    팁. 점에 유의하시기 바랍니다기본적으로 Excel은 C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns 폴더에 추가 기능을 저장합니다. 기본 위치를 수락하는 것이 좋습니다. 원하는 경우 다른 폴더를 지정할 수 있습니다. 그러나 추가 기능을 연결할 때 새 위치를 수동으로 찾아 지정해야 합니다. 기본 폴더에 저장하면 컴퓨터에서 애드온을 찾을 필요가 없습니다. Excel에서 자동으로 나열합니다.

    2단계. 애드인 파일 연결

    이제 생성한 애드인을 엑셀에 연결해야 합니다. 그런 다음 프로그램이 시작될 때 자동으로 로드됩니다. 이렇게 하려면 파일 - 옵션 - 추가 기능 메뉴를 사용하십시오. 관리 필드에서 Excel 추가 기능 이 선택되어 있는지 확인합니다. 창 하단의 이동 버튼을 클릭합니다. 나타나는 창에서 추가 기능 My_Functions를 표시합니다. 목록에 표시되지 않으면 찾아보기 버튼을 클릭하고 추가 기능 파일의 위치를 ​​찾습니다.

    추가 기능을 사용하여 사용자 지정 기능을 저장하는 경우 따라야 할 간단한 규칙이 하나 있습니다. 통합 문서를 다른 사람에게 전송하는 경우 원하는 기능이 포함된 추가 기능의 복사본도 전송해야 합니다. 지금과 같은 방식으로 연결해야 합니다.

    3단계. 추가 기능에 사용자 정의 함수 및 매크로 추가

    우리 추가 기능은 Excel에 연결되지만 연결되지 않습니다. 아무런 기능이 없다아직. 새 UDF를 추가하려면 Alt + F11을 눌러 Visual Basic Editor를 엽니다. 그런 다음 내 UDF 만들기 자습서에 설명된 대로 VBA 코드로 새 모듈을 추가할 수 있습니다.

    다음에서 추가 기능 파일( My_Finctions.xlam )을 선택합니다. VBA 프로젝트 창. 삽입 - 모듈 메뉴를 사용하여 사용자 정의 모듈을 추가하십시오. 사용자 정의 함수를 작성해야 합니다.

    사용자 정의 함수의 코드를 수동으로 입력하거나 어딘가에서 복사할 수 있습니다.

    그게 다입니다. 이제 고유한 추가 기능을 만들어 Excel에 추가했으며 여기에서 UDF를 사용할 수 있습니다. 더 많은 UDF를 사용하려면 VBA 편집기의 애드인 모듈에 코드를 작성하고 저장하면 됩니다.

    오늘은 여기까지입니다. 통합 문서에서 사용자 정의 함수를 사용하는 방법을 배웠습니다. 이 가이드라인이 도움이 되셨기를 바랍니다. 궁금한 사항이 있으면 이 문서에 대한 의견을 작성하십시오.

    Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.