Microsoft Excel 을 사용하면 매크로와 (Microsoft Excel)VBA ( Visual Basic for Applications ) 스크립팅 을 사용하여 기능과 명령을 자동화할 수 있습니다 . VBA는 Excel 에서 매크로를 만드는 데 사용 하는 프로그래밍 언어 입니다. (VBA is the programming language Excel)또한 특정 조건에 따라 자동화된 명령을 실행합니다.
매크로는 미리 기록된 일련의 명령입니다. 특정 명령이 주어지면 자동으로 실행됩니다. 회계, 프로젝트 관리 또는 급여와 같이 Microsoft Excel 에서 반복적으로 수행하는 작업이 있는 경우 이러한 프로세스를 자동화하면 많은 시간을 절약할 수 있습니다.
Excel 의 (Excel)리본(Ribbon) 에 있는 개발 도구(Developer) 탭에서 사용자는 마우스 클릭과 키 입력(매크로)을 기록할 수 있습니다. 그러나 일부 기능에는 매크로가 제공할 수 있는 것보다 더 심층적인 스크립팅이 필요합니다. 여기서 VBA 스크립팅이 큰 이점이 됩니다. 사용자가 더 복잡한 스크립트를 만들 수 있습니다.
이 기사에서는 다음을 설명합니다.
- 스크립트 및 매크로 활성화
- Excel에서 매크로를 만드는 방법
- 매크로의 특정 예
- VBA에 대해 자세히 알아보기
- VBA 시작 버튼(Button) 만들기
- (Add Code)버튼 기능(Button Functionality) 을 제공하는 코드 추가
- 효과가 있었나요?
스크립트 및 매크로 활성화(Enabling Scripts & Macros)
Excel 에서 매크로 또는 (Excel)VBA 스크립트를 만들려면 먼저 리본(Ribbon) 메뉴 에서 개발(Developer ) 도구 탭을 활성화해야 합니다. 개발자(Developer) 탭 은 기본적으로 활성화되어 있지 않습니다. 활성화하려면:
- Excel 워크시트를 엽니다.
- 파일(File ) > 옵션( Options ) > 리본 사용자 지정( Customize Ribbon.) 을 클릭합니다 .
- 개발자(Developer) 옆에 있는 상자에 체크 표시를 하십시오 .
- 리본(Ribbon) 메뉴 에서 개발(Developer) 도구 탭을 클릭 합니다.
- 그런 다음 매크로 보안 을 클릭하고 (Macro Security)모든 매크로 활성화(권장하지 않음, 잠재적으로 위험한 코드가 실행될 수 있음) (Enable all macros (not recommended; potentially dangerous code can run). ) 옆의 확인란을 선택합니다 .
- 그런 다음 확인을 클릭합니다.( OK.)
매크로가 기본적으로 켜져 있지 않고 경고와 함께 표시되는 이유는 매크로가 맬웨어를 포함할 수 있는 컴퓨터 코드이기 때문입니다.
(Make)Excel 및 기타 Microsoft 프로그램 의 공유 프로젝트에서 작업하는 경우 문서의 출처를 신뢰할 수 있는지 확인 하십시오.
스크립트와 매크로 사용이 끝나면 모든 매크로를 비활성화하여 잠재적으로 악성 코드가 다른 문서를 감염시키는 것을 방지하십시오.
Excel에서 매크로 만들기(Create a Macro in Excel)
매크로를 기록하는 동안 Excel 에서 수행하는 모든 작업이 Excel에 추가됩니다.
- 개발자 탭에서 매크로 기록(Record Macro) 을 클릭합니다 .
- 매크로 이름(Macro name) , 바로 가기 키(Shortcut key) 및 설명(Description. ) 을 입력 합니다. 매크로(Macro) 이름은 문자로 시작해야 하며 공백을 사용할 수 없습니다. 바로 가기 키는 문자여야 합니다.
다음 옵션에서 매크로를 저장할 위치를 결정합니다.
- 개인용 매크로 통합 문서 : 모든 (Personal Macro Workbook)Excel 문서 에 사용할 매크로가 저장된 숨겨진 Excel 문서를 생성합니다 .
- 새 통합 문서(New Workbook) : 생성된 매크로를 저장할 새 Excel 문서를 생성합니다.(Excel)
- This Workbook : 현재 편집 중인 문서에만 적용됩니다.
완료되면 확인(OK) 을 클릭 합니다.
- (Run)자동화하려는 작업을 실행 합니다. 완료되면 녹음 중지(Stop Recording) 를 클릭 합니다.
- 매크로에 액세스하려면 제공된 키보드 단축키를 사용하십시오.
매크로의 특정 예(Specific Example Of a Macro)
고객을 위한 간단한 스프레드시트와 고객이 지불해야 하는 금액부터 시작하겠습니다. 워크시트의 서식을 지정하는 매크로를 만드는 것부터 시작하겠습니다.
이름과 성을 별도의 열에 넣는 것과 같이 모든 스프레드시트가 다른 형식을 사용해야 한다고 가정해 보겠습니다.
수동으로 변경할 수 있습니다. 또는 매크로를 사용하여 프로그램을 만들어 자동으로 올바른 형식을 지정할 수 있습니다.
매크로 기록(Record The Macro)
- 매크로 기록(Record Macro) 을 클릭합니다 . 이를 Format_Customer_Data 라고 하고 (Format_Customer_Data)확인(OK) 을 클릭 하겠습니다 .
- 원하는 형식을 얻으려면 첫 번째 열 이름을 First Name 으로 변경합니다 .
- 그런 다음 A 옆에 열을 삽입하고 이름을 Last Name 이라고 합니다 .
- (Highlight)첫 번째 열의 모든 이름(여전히 성과 이름 포함)을 강조 표시 하고 리본 탐색 에서 데이터 를 클릭합니다.(Data)
- 텍스트를 열로 를(Text to Columns) 클릭합니다 .
- 구분 > 다음(Next ) > 공백 으로 (Separate by Space)구분(Delimited) > 다음(Next ) > 마침(Finish) 을 선택 합니다 . 아래 스크린샷과 위의 프로세스에 의해 이름과 성이 어떻게 분리되었는지 참조하십시오.
- 미지불 잔액(Balance Due) 필드 의 서식을 지정하려면 금액을 강조 표시합니다. 홈(Home ) > 조건부 서식(Conditional Formatting) > 셀 규칙 강조 표시(Highlight Cell Rules) > 보다 큼(Greater Than ) > 0 을 (0)클릭(Click) 합니다 .
잔액이 있는 셀이 강조 표시됩니다. 형식을 더 자세히 설명하기 위해 잔액이 없는 몇 명의 고객을 추가했습니다.
- 개발자(Developer ) 로 돌아가서 기록 중지(Stop Recording) 를 클릭 합니다.
매크로 적용(Apply The Macro)
올바른 형식을 지정하기 위해 매크로를 기록하기 전에 원본 스프레드시트부터 시작하겠습니다. 매크로를 클릭(Click) 하고 방금 만든 매크로를 선택(Macros) 하고 실행 합니다.(Run)
매크로를 실행하면 모든 서식이 자동으로 수행됩니다. 방금 만든 이 매크로는 Visual Basic Editor 에 저장됩니다 .
사용자는 여러 가지 방법으로 매크로를 실행할 수 있습니다. 자세한 내용 은 매크로 실행(Run a macro) 을 참조하세요.
VBA에 대해 자세히 알아보기(Learn More About VBA)
VBA에 대해 알아보려면 개발자(Developer) 탭 에서 매크로(Macro) 를 클릭하십시오. 생성한 항목을 찾아 편집을 클릭합니다.(Edit.)
위 상자에 표시되는 코드는 매크로를 기록할 때 생성된 코드입니다.
동일한 방식으로 다른 고객 지불 스프레드시트의 형식을 지정하려는 경우에도 실행합니다.
VBA 시작 버튼 만들기(Create a Button To Get Started With VBA)
위의 동일한 스프레드시트를 고객과 고객이 빚진 금액을 사용하여 통화 변환기를 만들어 보겠습니다.
- 버튼 요소를 삽입하려면 개발자(Developer ) 탭으로 이동하십시오.
- 컨트롤(Controls) 섹션 의 삽입(Insert) 옆에 있는 드롭다운에서 ActiveX 명령 단추(ActiveX Command Button ) 를 선택 합니다 .
- 스프레드시트의 아무 곳이나 버튼을 드래그(Drag) 하여 쉽게 액세스하고 원하는 경우 나중에 변경할 수 있습니다.
- 코드를 첨부하려면 버튼을 마우스 오른쪽 버튼으로 클릭하고 속성 을 선택 합니다(Properties) . Name 은 CommandButton 으로 유지하고 Caption to(Caption ) Convert (( Convert ) 이것은 버튼 텍스트)를 유지합니다.
버튼 기능을 제공하는 코드 추가(Add Code To Give The Button Functionality)
VBA 코딩은 (VBA)Excel 인터페이스 에서 발생하지 않습니다 . 별도의 환경에서 이루어집니다.
- 개발자(Developer) 탭 으로 이동하여 디자인 모드(Design Mode) 가 활성화되어 있는지 확인하십시오 .
- 방금 만든 버튼의 코드에 액세스하려면 해당 버튼을 마우스 오른쪽 버튼으로 클릭하고 코드 보기(View Code) 를 선택 합니다.
- 아래 스크린샷의 코드를 보면 코드의 시작( Private Sub )과 끝( End Sub )이 이미 있습니다.
ActiveCell.Value = (ActiveCell * 1.28)
이 섹션의 목적은 스프레드시트의 통화를 변환하는 것입니다. 위의 스크립트는 GBP(GBP) 에서 USD 로의 환율을 반영합니다 . 셀의 새 값은 현재 거기에 1.28을 곱한 값이 됩니다.
아래 스크린샷은 코드 를 삽입한 후 VBA 창에서 코드가 어떻게 보이는지 보여줍니다.
- 상단 탐색에서 파일(File ) 로 이동하고 닫기 및 Microsoft Excel(click on Close and Return to Microsoft Excel) 로 돌아가기를 클릭하여 기본 Excel 인터페이스로 돌아갑니다.
효과가 있었나요?(Did It Work?)
코드를 테스트하려면 먼저 디자인 모드(Design Mode) 를 비활성화 (클릭)해야 추가 수정을 방지하고 버튼 기능을 제공할 수 있습니다.
- (Type)스프레드시트에 숫자를 입력 한 다음 변환(Convert) 버튼을 클릭합니다. 숫자 값이 약 4분의 1만큼 증가하면 효과가 있는 것입니다.
이 예에서는 숫자 4를 셀에 넣습니다. 변환(Convert) 을 클릭한 후 숫자가 5.12로 변경되었습니다. 4 곱하기 1.28은 5.12이므로 코드가 올바르게 수행되었습니다.
이제 Excel(Excel) 에서 매크로나 스크립트를 만드는 방법을 이해했으므로 이를 사용하여 Excel 에서 다양한 작업을 자동화할 수 있습니다 .
How To Create a VBA Macro Or Script In Excel
Microsoft Excel enables users to autоmate features and commаnds υsing macros and Visual Basic for Αpplications (VBA) scripting. VBA is the programming language Excel uses to create macros. It will also execute automated commands based on specific conditions.
Macros are a series of pre-recorded commands. They run automatically when a specific command is given. If you have tasks in Microsoft Excel that you repeatedly do, such as accounting, project management, or payroll, automating these processes can save a lot of time.
Under the Developer tab on the Ribbon in Excel, users can record mouse clicks and keystrokes (macros). However, some functions require more in-depth scripting than macros can provide. This is where VBA scripting becomes a huge benefit. It allows users to create more complex scripts.
In this article, we will explain the following:
- Enabling Scripts & Macros
- How to Create a Macro in Excel
- Specific Example of a Macro
- Learn More About VBA
- Create a Button to Get Started with VBA
- Add Code to Give the Button Functionality
- Did it Work?
Enabling Scripts & Macros
Before you can create macros or VBA scripts in Excel, you must enable the Developer tab on the Ribbon menu. The Developer tab is not enabled by default. To enable it:
- Open an Excel worksheet.
- Click on File > Options > Customize Ribbon.
- Put a tick in the box next to Developer.
- Click on the Developer tab from the Ribbon menu.
- Next, click on Macro Security and tick the box next to Enable all macros (not recommended; potentially dangerous code can run).
- Then click OK.
The reason macros are not turned on by default and come with a warning is that they are computer code that could contain malware.
Make sure the document is from a trusted source if you are working on a shared project in Excel and other Microsoft programs.
When you are done using your scripts and macros, disable all macros to prevent potentially malicious code from infecting other documents.
Create a Macro in Excel
All the actions you take in Excel while recording a macro are added to it.
- From the Developer tab, click on Record Macro.
- Enter a Macro name, a Shortcut key, and a Description. Macro names must begin with a letter and can’t have any spaces. The shortcut key must be a letter.
Decide where you want to store the macro from the following options:
- Personal Macro Workbook: This will create a hidden Excel document with stored macros to be used with any Excel documents.
- New Workbook: Will create a new Excel document to store the created macros.
- This Workbook: This will only be applied to the document you are currently editing.
When done, click OK.
- Run through the actions you want to automate. When you are finished, click Stop Recording.
- When you want to access your macro, use the keyboard shortcut you gave it.
Specific Example Of a Macro
Let’s start with a simple spreadsheet for customers and how much they owe. We will begin by creating a macro to format the worksheet.
Let’s assume that you decide that all spreadsheets should use a different format such as putting first and last name in separate columns.
You can manually change this. Or you can create a program using a macro to automatically format it correctly for you.
Record The Macro
- Click on Record Macro. Let’s call it Format_Customer_Data and click OK.
- To get the formatting we want, we will change the first column name to First Name.
- Then insert a column next to A and call it Last Name.
- Highlight all the names in the first column (which still include first and last name), and click on Data from the ribbon navigation.
- Click on Text to Columns.
- Tick Delimited > Next > Separate by Space > Next > Finish. See screenshot below and how the first and last names were separated by the process above.
- To format the Balance Due field, highlight the amounts. Click on Home > Conditional Formatting > Highlight Cell Rules > Greater Than > 0.
This will highlight the cells that have a balance due. We added a few customers with no balance due to further illustrate the formatting.
- Go back to Developer and click Stop Recording.
Apply The Macro
Let’s start with the original spreadsheet before we recorded the macro to format it correctly. Click on Macros, select and Run the macro you just created.
When you run a macro, all the formatting is done for you. This macro we just created is stored in the Visual Basic Editor.
Users can run macros in several different ways. Read Run a macro to learn more.
Learn More About VBA
To learn about VBA, click on Macro from the Developer tab. Find one you have created and click Edit.
The code you see in the box above is what was created when you recorded your macro.
It is also what you will run when you want to format other customer payment spreadsheets in the same way.
Create a Button To Get Started With VBA
Using the same spreadsheet above with customers and how much they owe, let’s create a currency converter.
- To insert a button element, navigate to the Developer tab.
- Select ActiveX Command Button from the dropdown next to Insert in the Controls section.
- Drag the button anywhere on the spreadsheet so you can easily access it and change it later if you want.
- To attach the code, right-click on the button and select Properties. We will keep the Name as CommandButton and the Caption to Convert (this is the button text).
Add Code To Give The Button Functionality
VBA coding doesn’t take place in the Excel interface. It is done in a separate environment.
- Go to the Developer tab and make sure Design Mode is active.
- To access the code of the button we just created, right-click on it and select View Code.
- Looking at the code in the screenshot below, notice the beginning (Private Sub) and end (End Sub) of the code is already there.
- The code below will drive the currency conversion procedure.
ActiveCell.Value = (ActiveCell * 1.28)
Our purpose in this section is to convert the currency in our spreadsheet. The script above reflects the exchange rate from GBP to USD. The new value of a cell will be what is currently there multiplied by 1.28.
The screenshot below shows you how the code looks in the VBA window after you insert it .
- Go to File in the top navigation and click on Close and Return to Microsoft Excel to return to the main Excel interface.
Did It Work?
Before you can test your code, you must first disable Design Mode (click on it) to avoid further modifications and give the button functionality.
- Type any number into your spreadsheet and then click the Convert button. If the value of your number increases by approximately one-quarter, it worked.
For this example, I put the number 4 into a cell. After clicking Convert, the number changed to 5.12. Since 4 times 1.28 is 5.12, the code was carried out correctly.
Now that you understand how to create a macro or script in Excel, you can use them to automate a multitude of actions in Excel.