반복되는 엑셀 작업 매크로로 만들기

손으로 하던 정리 작업을 VBA 코드로 바꾼다

프롬프트 · 변수 3개

저는 매달 같은 엑셀 정리 작업을 손으로 반복하고 있어서 이 일을 매크로로 만들려고 합니다. 파일은 {{파일 위치}}에 있고, 시트 구성은 이렇습니다: {{시트 구성}}

아래 작업 순서를 그대로 수행하는 VBA 코드를 만들어 주세요. 제가 적지 않은 단계를 더하거나 순서를 바꾸지 말아 주세요.

코드를 주기 전에, 제 순서를 코드의 어느 부분이 맡을지 단계별 목록으로 먼저 정리해 주세요. 그다음 전체 코드를 주고, 각 단계가 시작되는 줄에 무엇을 하는지 주석을 달아 주세요. 마지막에 이 코드를 어디에 붙여 넣고 어떻게 실행하는지 알려 주세요.

파일을 삭제하거나 덮어쓰거나 다른 통합 문서를 여는 동작은 제가 적지 않았다면 넣지 마세요. 되돌릴 수 없는 작업(행 삭제, 값 덮어쓰기)이 있으면 실행 전에 확인 창을 띄우고, 원본 시트를 복사해 둔 뒤 작업하게 해 주세요.

작업 순서: """ {{작업 순서}} """

복사한 뒤 여기에 붙여 넣으세요 · ChatGPT·Claude는 프롬프트를 실은 채 열립니다 ChatGPT에서 열기 ↗Claude에서 열기 ↗Gemini에서 열기 ↗뤼튼에서 열기 ↗ 빌더에서 고치기 수업용 카드 이미지 받기

이 프롬프트에는 개인정보가 들어갈 수 있는 변수가 있습니다. 실제 이름·번호·회사명은 가명으로 바꿔 넣으세요.

결과 예시

단계 목록 5줄이 먼저 나온 뒤 주석 달린 코드와 붙여 넣는 위치(Alt+F11 → 모듈)가 나왔고, 적지 않은 저장·서식 단계는 들어오지 않았다.

' 되돌릴 수 없는 작업(행 삭제)이 있으므로 먼저 확인 If MsgBox("금액이 0인 행을 삭제합니다. 계속할까요?", vbOKCancel) <> vbOK Then Exit Sub ws.Copy After:= ... ' 원본_백업_yyyymmdd 시트를 먼저 만든다

소계 행 탓에 A열이 비는 것을 감안해 마지막 행은 B열 기준으로 잡았다.

Claude에서 실제로 실행해 확인 · 2026-09

왜 이렇게 쓰는가

맥락
저는 매달 같은 엑셀 정리 작업을 손으로 반복하고 있어서 이 일을 매크로로 만들려고 합니다. 파일은 {{파일 위치}}에 있고, 시트 구성은 이렇습니다: {{시트 구성}}
과제
아래 작업 순서를 그대로 수행하는 VBA 코드를 만들어 주세요. 제가 적지 않은 단계를 더하거나 순서를 바꾸지 말아 주세요.
단계
코드를 주기 전에, 제 순서를 코드의 어느 부분이 맡을지 단계별 목록으로 먼저 정리해 주세요. 그다음 전체 코드를 주고, 각 단계가 시작되는 줄에 무엇을 하는지 주석을 달아 주세요. 마지막에 이 코드를 어디에 붙여 넣고 어떻게 실행하는지 알려 주세요.
제약
파일을 삭제하거나 덮어쓰거나 다른 통합 문서를 여는 동작은 제가 적지 않았다면 넣지 마세요. 되돌릴 수 없는 작업(행 삭제, 값 덮어쓰기)이 있으면 실행 전에 확인 창을 띄우고, 원본 시트를 복사해 둔 뒤 작업하게 해 주세요.
입력 자료
작업 순서: """ {{작업 순서}} """

엑셀 매크로 만들기를 AI에게 맡겼을 때 코드가 돌지 않는 이유는 대개 문법이 아니라 전제입니다. "정리해서 저장하는 매크로"라고만 하면 AI는 시트 이름을 Sheet1 로, 데이터 시작 행을 2행으로, 마지막 행을 찾는 방법을 자기 방식대로 정합니다. 제 파일은 시트 이름도 다르고 머리글이 3행부터라 첫 줄에서 멈춥니다.

과제 문단이 "적지 않은 단계를 더하거나 순서를 바꾸지 말라"고 못 박는 이유가 여기 있습니다. AI는 친절해서 정렬한 뒤에 서식까지 손보고, 마지막에 저장을 넣어 줍니다. 그 한 줄 때문에 결과를 확인하기도 전에 원본이 덮어써집니다. 시트 구성과 파일 위치를 앞에 적어 두는 것도 같은 목적입니다.

코드보다 단계 목록을 먼저 받는 것이 이 프롬프트의 중심입니다. 목록만 봐도 오해한 부분이 눈에 띄어서, 코드를 다 읽기 전에 "3번은 소계가 아니라 합계입니다"처럼 짧게 바로잡을 수 있습니다. 각 단계에 주석을 달게 해 두면 나중에 순서가 하나 늘었을 때 어디를 고칠지도 금방 찾습니다. 손으로 하던 일을 한 줄에 하나씩 적어 붙이는 것만으로도 목록의 정확도가 눈에 띄게 올라갑니다.

제약 문단은 안전장치입니다. VBA로 지운 행은 실행 취소가 되지 않습니다. 삭제나 덮어쓰기 전에 확인 창을 띄우고 원본 시트를 복사해 두라는 두 줄이, 엑셀 자동화 매크로를 처음 돌려 볼 때 파일을 지켜 줍니다. 붙여 넣는 위치와 실행 방법까지 함께 물어 두면 코드를 받고도 어디에 넣을지 몰라 헤매는 시간이 사라집니다.

용어가 낯설면 아하AI에서: prompt, chain-of-thought

나쁜 예와 비교

흔한 나쁜 예

엑셀 매크로 만들어줘. 금액 0인 행 지우고 거래처별로 정렬해서 저장하는 거

코드는 그럴듯하게 나오지만 시트 이름이 Sheet1 로 고정되고 데이터가 2행부터라고 가정합니다. 실행하면 첫 줄에서 오류가 나거나, 더 나쁘게는 엉뚱한 시트의 행이 지워집니다. 저장까지 코드에 들어 있어 되돌릴 수도 없고, 어디에 붙여 넣어 실행하는지도 설명이 없어 처음이라면 첫 단계부터 막힙니다.

변형

매크로 없이 되는지 먼저 보고 싶을 때

매크로 없이 되는지 먼저 보고 싶을 때

아래 작업 순서를 보고, VBA 매크로 없이 엑셀 기본 기능(표 기능, 피벗 테이블, 파워 쿼리, 수식)만으로 할 수 있는 부분이 있는지 먼저 알려 주세요. 매크로가 꼭 필요한 단계만 골라 그 이유와 함께 표로 정리해 주세요.

""" {{작업 순서}} """

매크로는 만들고 나면 관리 부담이 생깁니다. 파워 쿼리로 되는 일이라면 그쪽이 오래 유지하기 쉽습니다.

팀원도 각자 쓸 매크로로 만들 때

팀원도 각자 쓸 매크로로 만들 때

{{시트 구성}} 구조의 파일에서 아래 작업을 수행하는 VBA 코드를 만들되, 팀원이 각자 자기 파일에서 실행할 수 있게 해 주세요. 시트 이름이나 열 위치가 다를 수 있으니 바꿔야 할 값은 코드 맨 위에 상수로 모아 두고, 구조가 맞지 않으면 실행을 멈추고 무엇이 다른지 알려 주는 검사를 넣어 주세요.

""" {{작업 순서}} """

나눠 쓰는 매크로는 남의 파일에서 조용히 잘못 도는 것이 가장 위험합니다. 앞에서 구조를 검사해 멈추게 했습니다.

모델별 주의

매크로를 처음 실행하기 전에 파일을 복사해 두세요. VBA로 지운 행은 실행 취소가 되지 않습니다. 파일은 .xlsm 으로 저장해야 매크로가 남습니다

관련 프롬프트

마지막 수정 2026-09-02 · 잘못된 점이 있나요? 알려 주세요