Excel 에서 모든 워크북에서 VBA 매크로를 저장하고 사용하는 방법은?
반복적인 계산, 데이터 서식 지정 또는 숫자를 단어로 변환하는 등의 작업을 위해 여러 Excel 통합 문서에서 동일한 VBA 매크로를 반복적으로 사용해야 하는 경우가 많습니다. 일반적으로 매크로는 생성된 워크북 내에만 저장되므로 새 문서에서 쉽게 접근하거나 재사용할 수 없다는 문제가 있습니다. 그러나 Excel 은 VBA 매크로를 전역적으로 사용할 수 있도록 여러 가지 유연한 방법을 제공하여 새 워크북을 새로 시작할 때마다 코드를 다시 복사할 필요 없이 생산성과 워크플로를 향상시킬 수 있습니다。 이 튜토리얼에서는 VBA 매크로를 모든 워크북에서 쉽게 사용할 수 있도록 하는 다양한 방법에 대한 포괄적인 지침을 제공합니다。

모든 워크북에서 VBA 코드 저장 및 사용하기
개인 매크로 워크북 방법
예를 들어, 사용자 정의 VBA 코드를 사용해 숫자를 해당 영문 단어로 변환하는 기능을 항상 사용할 수 있도록 하고 싶다고 가정해 보겠습니다. 적절한 방법을 사용하면 VBA 모듈을 저장하여 Excel 에서 필요할 때마다 재사용할 수 있습니다。 이는 특히 여러 파일에 코드를 중복하지 않고도 항상 접근 가능한 사용자 정의 함수나 자동화 기능을 원할 때 매우 유용합니다。
이를 위해 VBA 코드를 사용자 정의 Excel 추가 기능으로 패키징할 수 있습니다. 이 추가 기능을 Excel 에서 활성화하면 전역적으로 사용 가능한 함수 형태로 사용자 정의 기능을 노출할 수 있습니다。
다음 단계를 따르세요:
1. Excel 에서Alt + F11키를 눌러 「Microsoft Visual Basic for Applications」 창을 엽니다。
2. VBA 편집기에서삽입>모듈을 클릭하고 새로 생성된 모듈 창에 다음 매크로를 붙여넣습니다。
VBA 코드: 단어로 변환하기 변환
Function NumberstoWords(ByVal MyNumber)
'Update by ExtendofficeDim xStr As StringDim xFNum As IntegerDim xStrPointDim xStrNumberDim xPoint As StringDim xNumber As StringDim xP() As VariantDim xDPDim xCnt As IntegerDim xResult, xT As StringDim xLen As IntegerOn Error Resume NextxP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP >0 ThenxPoint = " point "
xStr = Mid(xNumber, xDP +1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum =1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum,1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNumxNumber = Trim(Left(xNumber, xDP -1))
End IfxCnt =0xResult = ""
xT = ""
xLen =0xLen = Int(Len(Str(xNumber)) /3)
If (Len(Str(xNumber)) Mod3) =0 Then xLen = xLen -1Do While xNumber <> ""
If xLen = xCnt ThenxT = GetHundredsDigits(Right(xNumber,3), False)
ElseIf xCnt =0 ThenxT = GetHundredsDigits(Right(xNumber,3), True)
ElsexT = GetHundredsDigits(Right(xNumber,3), False)
End IfEnd IfIf xT <> "" ThenxResult = xT & xP(xCnt) & xResultEnd IfIf Len(xNumber) >3 ThenxNumber = Left(xNumber, Len(xNumber) -3)
ElsexNumber = ""
End IfxCnt = xCnt +1LoopxResult = xResult & xPointNumberstoWords = xResultEnd FunctionFunction GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As StringDim xStrNum As StringDim xStr As StringDim xI As IntegerDim xBB As BooleanxStrNum = xHDgtxRStr = ""
On Error Resume NextxBB = TrueIf Val(xStrNum) =0 Then Exit FunctionxStrNum = Right("000" & xStrNum,3)
xStr = Mid(xStrNum,1,1)
If xStr <> "0" ThenxRStr = GetDigits(Mid(xStrNum,1,1)) & "Hundred "
ElseIf xB ThenxRStr = "and "
xBB = FalseElsexRStr = " "
xBB = FalseEnd IfEnd IfIf Mid(xStrNum,2,2) <> "00" ThenxRStr = xRStr & GetTenDigits(Mid(xStrNum,2,2), xBB)
End IfGetHundredsDigits = xRStrEnd FunctionFunction GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As StringDim xI As IntegerDim xArr_1() As VariantDim xArr_2() As VariantDim xT As BooleanxArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = TrueOn Error Resume NextIf Val(Left(xTDgt,1)) =1 ThenxI = Val(Right(xTDgt,1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
ElsexI = Val(Left(xTDgt,1))
If Val(Left(xTDgt,1)) >1 ThenIf xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt,1)))
xT = FalseEnd IfIf xStr = "" ThenIf xB ThenxStr = "and "
End IfEnd IfIf Right(xTDgt,1) <> "0" ThenxStr = xStr & GetDigits(Right(xTDgt,1))
End IfEnd IfGetTenDigits = xStrEnd FunctionFunction GetDigits(xDgt)
Dim xStr As StringDim xArr_1() As VariantxArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume NextxStr = xArr_1(Val(xDgt))
GetDigits = xStrEnd Function 3. 이제 창 왼쪽 상단에 있는 「저장」 아이콘을 클릭하거나 간단히Ctrl + S키를 눌러 「다른 이름으로 저장」 대화 상자를 엽니다。
4. 「다른 이름으로 저장」 창에서 「파일 이름」 필드에 원하는 파일 이름을 입력합니다。 「저장 형식 지정」 드롭다운에서 반드시Excel 추가 기능(*。xlam)을 선택하세요。
5. 「저장」 버튼을 클릭하여 워크북을 Excel 추가 기능 파일로 저장합니다。 이렇게 하면 언제든지 어떤 워크북에서든 활성화할 수 있는 재사용 가능한 추가 기능이 생성됩니다。
6. 저장 후 Excel 로 돌아가서 방금 추가 기능으로 변환한 워크북을 닫습니다。
7. 매크로를 사용하려는 새 워크북이나 기존 워크북을 엽니다。 해당 셀(예: B2)에 사용자 정의 수식을 입력합니다:
=NumberstoWords(A2) 
8. 개발 도구탭으로 이동하여 추가 기능 그룹에서Excel 추가 기능버튼을 클릭합니다。
9. 나타나는 추가 기능 대화 상자에서찾아보기를 선택합니다。
10. 이전에 저장한 추가 기능 파일을 찾아 선택한 후확인을 클릭합니다。
11. 「숫자를 단어로 변환 추가 기능」과 같은 사용자 정의 추가 기능이 이제 추가 기능 목록에 표시됩니다。 해당 항목을 체크한 후확인을 클릭하여 활성화합니다。
12. 이제 대상 셀(예: B2)에 다시 사용자 정의 함수를 입력하고Enter키를 누르면 수식이 숫자에 해당하는 정확한 영문 단어를 반환하는 것을 확인할 수 있습니다。
=NumberstoWords(A2) 13. 변환 수식을 여러 숫자에 빠르게 적용하려면 셀의 자동 채우기 핸들을 아래로 드래그하여 다른 셀에도 함수를 복사하세요。

팁 및 참고 사항:
- 매크로를 추가 기능(Add-in)으로 저장하면 동일한 사용자 정의 함수, 코드 또는 자동화 기능을 모든 워크북에서 사용할 수 있어 시간을 절약하고 일관성을 높일 수 있습니다。
- Excel 이 닫히거나 나중에 추가 기능이 비활성화되면 해당 추가 기능의 함수가 임시로 「#NAME?」을 표시할 수 있습니다。 추가 기능이 다시 로드될 때까지 이 상태가 지속됩니다。 혼동을 방지하려면 필요할 때마다 항상 추가 기능 관리자에서 해당 추가 기능이 활성화되어 있는지 확인하세요。
- 일부 사용자는 기본적으로 개발자 탭을 보지 못할 수 있습니다。 이를 활성화하려면 리본을 마우스 오른쪽 버튼으로 클릭하고 「리본 사용자 지정」을 선택한 다음 「개발 도구」 옵션을 체크하세요。
- 파일이 이동되거나 이름이 변경되어 참조가 손실되지 않도록 추가 기능은 영구적인 폴더에 저장하는 것이 좋습니다。
코드를 수동으로 실행하는 것을 선호하는 경우도 있으며, 디버깅 시나 즉석에서 사용할 때 유용할 수 있습니다:
- 모든 표시된 워크북에서 한 번의 클릭으로 매크로를 실행할 수 있도록 빠른 실행 도구 모음에 매크로를 할당할 수 있습니다。 이렇게 하려면 빠른 실행 도구 모음을 마우스 오른쪽 버튼으로 클릭하고 「빠른 실행 도구 모음 사용자 지정」을 선택한 다음 매크로를 추가하세요。

- 또는Alt + F11키를 눌러 VBA 편집기를 열고 직접 매크로를 선택한 후F5키를 눌러 필요할 때 코드를 실행할 수 있습니다。
장점:이 방법을 사용하면 추가 기능이 활성화되어 있는 한 언제나 원활하게 작동하는 풍부하고 재사용 가능한 매크로 기능을 생성하고 공유할 수 있습니다。
단점:사용자는 추가 기능을 로드해야 하며, 워크북을 공유할 경우 추가 기능 파일과 함수 세부 정보도 함께 공유해야 합니다. 또한 추가 기능은 Excel Online 에서는 사용할 수 없습니다。
개인 매크로 워크북(PERSONAL.XLSB)을 사용하면 즐겨찾는 매크로나 가장 자주 사용하는 매크로를 어떤 워크북이 열려 있든 상관없이 모든 Excel 세션에서 즉시 사용할 준비가 되어 있게 할 수 있습니다. 이는 Excel 이 시작될 때마다 자동으로 로드되는 특수한 숨김 Excel 파일로, 내부에 저장된 모든 매크로를 열려 있는 모든 워크북에서 사용할 수 있도록 해줍니다。
적용 가능한 시나리오:공식적인 Excel 추가 기능으로 공유할 필요 없는 개인 자동화, 일상적인 서식 지정 스크립트 또는 유틸리티 함수에 이상적입니다. PERSONAL.XLSB 의 매크로는 어떤 파일이 열려 있든 상관없이 사용자의 컴퓨터에서 항상 사용할 수 있습니다。
장점:매크로는 로컬 Excel 프로필 전역에서 사용할 수 있으며 애드인이나 추가 파일을 설치할 필요가 없습니다。
단점:이 방식으로 저장된 매크로는 PERSONAL.XLSB 파일이 존재하는 컴퓨터 및 계정에서만 사용할 수 있습니다。 다른 사용자와 공유하려면 모듈을 수동으로 내보내고 가져와야 합니다。
- 이 방법을 사용하려면 먼저 매크로를 기록하거나 생성하고 개인 매크로 워크북에 저장되었는지 확인해야 합니다。
다음 단계를 따르세요:
- Excel 을 엽니다。보기탭에서매크로를 클릭한 후매크로 기록을 선택합니다。
- 대화 상자에서 「매크로 저장 위치」 아래에서개인 매크로 워크북을 선택합니다。 기록을 완료하세요(필요하지 않다면 바로 중지해도 됩니다)。
- Alt + F11키를 눌러 VBA 편집기로 들어가면 PERSONAL.XLSB 프로젝트가 표시됩니다。 여기에서 새 모듈을 삽입하거나 원하는 매크로 코드를 붙여넣으세요。
- 변경 내용을 저장하세요. Excel 은 시작 폴더에 PERSONAL.XLSB 워크북을 자동으로 생성하고 유지 관리합니다。
- PERSONAL.XLSB 의 매크로는매크로대화 상자()Alt + F8)를 통해 실행하거나 리본 또는 도구 모음 단추에 할당하거나 VBA 에서 호출할 수 있습니다。
문제 해결 및 유지관리:PERSONAL.XLSB 의 매크로를 사용할 수 없는 경우, Excel 이 안전 모드로 실행 중인지 또는 매크로 보안 설정이 “모든 매크로 사용 안 함”으로 되어 있는지 확인하세요. 또한 PERSONAL.XLSB 는 기본적으로 숨김 상태입니다。 실수로 저장하지 않고 닫거나 삭제한 경우, 매크로를 다시 기록하여 파일을 재생성해야 할 수도 있습니다。
C:\Users\[YourUserName]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSBExcel 에서 모든 추가 기능을 나열하는 VBA 코드
Excel 에서는 데이터 처리를 위해 다양한 추가 기능을 추가하거나 삽입할 수 있습니다. 일반적으로 옵션 창으로 이동하여 모든 추가 기능을 확인할 수 있지만, 워크시트에 추가 기능 목록을 표시할 수 있는 방법이 있을까요? 이 튜토리얼에서는 Excel 에서 모든 추가 기능을 나열하는 VBA 코드를 제공합니다。
워크북을 열거나 닫을 때 VBA 매크로를 실행하는 방법은?
이 문서에서는 매번 워크북을 열거나 닫을 때 VBA 코드를 실행하는 방법을 안내합니다。
Excel 에서 VBA 코드를 보호/잠그는 방법은?
워크북 및 워크시트를 보호하기 위해 비밀번호 사용할 수 있는 것처럼 Excel 에서도 매크로를 보호하기 위한 암호를 설정할 수 있습니다。
Excel 에서 VBA 매크로 실행 후 시간 지연을 적용하는 방법은?
경우에 따라 Excel 에서 VBA 매크로를 실행하기 전에 타이머 지연을 설정해야 할 수도 있습니다. 예를 들어 특정 매크로를 실행하면 10 초 후에 작동하도록 설정할 수 있습니다。 이 문서에서는 이를 구현하는 방법을 안내합니다。
최고의 Office 생산성 도구
| 🤖 | KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행 | 코드 생성| 사용자 지정 수식 생성 | 데이터 분석 및 차트 생성| 향상된 함수 호출… |
| 인기 기능:찾기, 강조 표시 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 결합 또는 셀 제거 | 공식을 사용하지 않는 반올림... | |
| 슈퍼 LOOKUP:다중 조건 VLookup | 다중 값 VLookup | 여러 시트에서 VLookup | 퍼지 매치.... | |
| 고급 드롭다운 목록:드롭다운 목록 빠르게 생성 | 종속형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
| 열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교... | |
| 주요 기능:그리드 포커스 | 디자인 보기 |향상된 수식 표시줄 | 워크북 및 시트 관리자 | 자원 라이브러리(자동 텍스트)| 날짜 선택기 | 워크시트 병합 | 암호화/셀 해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。 | |
| 상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)| 50+차트유형(간트 차트, ...)| 40+ 실용적인수식(생일을 기준으로 나이 계산, ...)| 19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)| 12 변환도구(단어로 변환하기,환율 변환, ...)| 7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능 |
Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。
Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다
- Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
- 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
- 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 애드인。 하나의 설치 프로그램
Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。
- 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
- 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
- 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
- 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
- 최고의 가성비— 개별 애드인 구매 대비 절약
