안녕하세요! 매일 반복되는 엑셀 복사-붙여넣기에 지친 직장인 여러분을 위한 업무 자동화 치트키, VBA(Visual Basic for Applications) 입문 가이드입니다. 오늘은 복잡한 문법 공부 대신, 바로 실무에 써먹을 수 있는 '세팅법'과 'AI 활용법'을 핵심만 짚어드립니다.
10초 만에 끝내는 준비운동: '개발 도구' 활성화
VBA를 쓰려면 엑셀 상단 메뉴에 숨겨진 [개발 도구] 탭을 꺼내야 합니다.
엑셀 상단 리본 메뉴 아무 곳이나 마우스 오른쪽 클릭합니다.
[리본 메뉴 사용자 지정]을 선택합니다.
오른쪽 목록에서 [개발 도구] 체크박스를 체크하고 확인을 누릅니다.
이제 상단에 '개발 도구' 탭이 생겼다면 준비 끝입니다!
공들인 코드 날리지 않으려면? 저장 방식 확인!
VBA 코드가 포함된 파일은 일반적인 .xlsx 형식으로 저장하면 코드가 모두 삭제됩니다. 반드시 [다른 이름으로 저장]을 눌러 파일 형식을 다음 중 하나로 변경하세요.
Excel 매크로 사용 통합 문서 (.xlsm): 가장 일반적인 방식입니다.
Excel 바이너리 통합 문서 (.xlsb): 데이터 용량이 클 때 속도가 빠르고 유리합니다.
💡 꿀팁: 카톡으로 보낼 땐 '알집'이 필수? 보안상의 이유로 카톡이나 일부 메일 서비스는 .xlsm 파일을 차단하거나 위험 파일로 인식합니다. 동료에게 보낼 때는 반드시 압축(ZIP)해서 전송하세요. 그래야 차단 없이 안전하게 전달됩니다.
코딩은 AI에게 맡기세요 (Gemini, Claude 활용법)
이제 직접 코드를 짤 필요가 없습니다. 구글의 제미나이(Gemini)나 클로드(Claude)에게 상황만 설명하면 완벽한 코드를 짜줍니다.
AI에게 질문하는 법(프롬프트 예시):
"엑셀 VBA 코드를 짜줘. 현재 파일에 있는 'Sheet1', 'Sheet2', 'Sheet3'의 데이터를 '통합' 시트로 모두 합치고 싶어. 각 시트의 첫 줄은 제목행이니까 제외하고 데이터만 순차적으로 아래로 붙여넣어줘."
출처 입력
대표사진 삭제
사진 설명을 입력하세요.
실전 예시: 여러 시트 하나로 합치기 (코드 포함)
여러 시트에 흩어진 데이터를 하나로 모으는 작업, 가장 흔하지만 귀찮은 일이죠? 아래 코드를 복사해서 바로 사용해 보세요.
사용 방법: Alt + F11 (VBA 창 열기) -> 삽입 -> 모듈 -> 아래 코드 복사/붙여넣기 -> F5 실행
대표사진 삭제
사진 설명을 입력하세요.
대표사진 삭제
사진 설명을 입력하세요.
VBA
Sub CombineSheets() Dim ws As Worksheet Dim combinedWs As Worksheet Dim lastRow As Long Dim copyRow As Long Dim isFirst As Boolean ' "통합" 시트 생성 또는 초기화 On Error Resume Next Set combinedWs = Sheets("통합") If combinedWs Is Nothing Then Set combinedWs = Sheets.Add(Before:=Sheets(1)) combinedWs.Name = "통합" Else combinedWs.Cells.Clear End If On Error GoTo 0 isFirst = True ' 모든 시트를 순회하며 데이터 복사 For Each ws In ThisWorkbook.Worksheets If ws.Name <> "통합" Then lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row If isFirst Then ' 첫 시트만 제목행 포함 복사 ws.Range("A1").CurrentRegion.Copy combinedWs.Range("A1") isFirst = False Else ' 두 번째 시트부터는 데이터만 복사 copyRow = combinedWs.Cells(combinedWs.Rows.Count, "A").End(xlUp).Row + 1 If lastRow > 1 Then ws.Range("A2", ws.Cells(lastRow, ws.Cells(1, Columns.Count).End(xlToLeft).Column)).Copy _ combinedWs.Range("A" & copyRow) End If End If End If Next ws MsgBox "모든 시트 합치기가 완료되었습니다!" End Sub
맺음말: 이제 여러분은 '자동화'의 길로 들어섰습니다
처음에는 VBA 창을 켜는 것조차 낯설 수 있습니다. 하지만 제미나이 같은 든든한 AI 비서가 있으니 두려워 마세요. "이런 것도 될까?" 싶은 작업이 있다면 지금 바로 AI에게 물어보세요. 여러분의 퇴근 시간이 1시간은 빨라질 것입니다.
오늘 내용이 도움 되셨다면 구독과 좋아요 부탁드립니다! 다음 호에서는 AI를 이용해 '이메일 자동으로 발송하기'를 다뤄보겠습니다.