엑셀 반복 작업 자동화 VBA 매크로 만드는 프롬프트

같은 클릭을 매일 반복하는 엑셀 작업을 버튼 하나로 끝내고 싶을 때, 작업 내용을 설명해 VBA 매크로 코드를 받는 프롬프트입니다.

#엑셀#VBA#매크로#업무 자동화

이럴 때 쓰세요

  • 원본 시트를 담당자별·지점별 시트로 매주 손으로 나누고 있을 때
  • 여러 시트의 서식 정리, 빈 행 삭제 같은 작업을 매번 반복할 때
  • 매크로 기록기로 만든 코드가 데이터 행 수가 바뀌면 동작하지 않을 때

광고

① 빈칸 채우기

입력한 내용은 이 브라우저에만 저장되고 서버로 보내지 않습니다. 회사 기밀·개인정보는 가명으로 바꿔 넣으세요.

② 완성된 프롬프트

빈칸 4개
당신은 사무 자동화를 전문으로 하는 엑셀 VBA 개발자입니다.
아래 반복 작업을 자동화하는 VBA 매크로를 만들어 주세요.

[작업 내용]
[자동화하고 싶은 작업]

[데이터 구조]
[데이터 구조]

[환경]
- 사용 환경: [사용 환경]
- 작성자의 VBA 경험: [VBA 경험]

[요구사항]
1. 코드 맨 위에 Option Explicit를 쓰고, 모든 변수를 선언해 주세요.
2. 데이터 마지막 행은 고정 숫자가 아니라 코드로 찾게 해 주세요.
3. 줄마다 무슨 일을 하는지 한국어 주석을 달아 주세요.
4. 화면 깜박임을 줄이는 설정을 넣고, 끝나면 반드시 원래대로 돌려 주세요.
5. Mac 엑셀에서 동작하지 않는 기능(예: Scripting.Dictionary)을 썼다면 그 사실을 알려 주고 대안을 제시해 주세요.
6. 코드 뒤에 실행 방법(VBA 편집기 여는 법, 모듈 넣는 법, .xlsm 저장)을 작성자 경험 수준에 맞춰 단계별로 써 주세요.
7. 매크로는 실행 취소(Ctrl+Z)가 안 되므로 백업 관련 주의를 한 줄 넣어 주세요.

AI 결과 예시

예시 값을 넣어 실행했을 때 기대할 수 있는 결과입니다. 표현은 AI 서비스와 실행할 때마다 조금씩 달라집니다.

Option Explicit Sub SplitByManager() Dim wsSrc As Worksheet, wsNew As Worksheet Dim dict As Object, k As Variant Dim lastRow As Long, i As Long, r As Long Set wsSrc = ThisWorkbook.Worksheets("원본") lastRow = wsSrc.Cells(wsSrc.Rows.Count, "B").End(xlUp).Row ' B열 마지막 행 Set dict = CreateObject("Scripting.Dictionary") ' 담당자 목록(중복 제거) For i = 2 To lastRow k = Trim(CStr(wsSrc.Cells(i, "B").Value)) If k <> "" And Not dict.Exists(k) Then dict.Add k, 1 Next i Application.ScreenUpdating = False Application.DisplayAlerts = False ' 시트 삭제 확인창 숨김 For Each k In dict.Keys On Error Resume Next ThisWorkbook.Worksheets(CStr(k)).Delete ' 같은 이름 시트가 있으면 삭제 On Error GoTo 0 Set wsNew = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) wsNew.Name = CStr(k) wsSrc.Rows(1).Copy wsNew.Rows(1) ' 머리글 복사 r = 2 For i = 2 To lastRow If Trim(CStr(wsSrc.Cells(i, "B").Value)) = k Then wsSrc.Rows(i).Copy wsNew.Rows(r) r = r + 1 End If Next i wsNew.Columns.AutoFit Next k Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox dict.Count & "개 시트를 만들었습니다." End Sub [실행 방법] Alt+F11 > 삽입 > 모듈 > 코드 붙여넣기 > F5. 파일은 'Excel 매크로 사용 통합 문서(.xlsm)'로 저장하세요. [주의] 실행 전 파일을 복사해 두세요. Scripting.Dictionary는 Windows 전용입니다.

이 프롬프트가 잘 통하는 이유

  • Option Explicit 요구: 변수 이름 오타로 생기는 조용한 버그를 엑셀이 실행 전에 잡아 줍니다.
  • 마지막 행 자동 탐색: 매크로 기록기 코드가 행 수가 바뀌면 깨지는 가장 흔한 문제를 처음부터 막습니다.
  • 환경 명시: Windows·Mac 차이를 알려 주면 Mac에서 실행조차 안 되는 코드를 받는 일을 피할 수 있습니다.
  • 경험 수준 반영: 초보라면 편집기 여는 법부터 알려 주게 해 코드를 받고도 못 쓰는 상황을 줄입니다.

결과를 다듬는 후속 프롬프트

첫 결과를 받은 같은 대화창에 이어서 보내세요.

  • 파일로 저장

    시트를 나누는 대신 담당자별로 별도 엑셀 파일(.xlsx)로 저장하게 바꿔 줘. 저장 폴더는 현재 파일과 같은 폴더로.

  • 버튼 달기

    시트에 버튼을 만들어 이 매크로를 연결하는 방법을 알려 줘.

  • 오류 처리

    담당자 이름에 시트 이름으로 쓸 수 없는 문자(/ \ ? * [ ] :)가 있거나 31자를 넘을 때 대신 처리하는 코드를 추가해 줘.

  • 줄별 설명

    이 코드에서 For Each 부분이 어떻게 동작하는지 초보자에게 설명하듯 풀어 줘.

쓰기 전에 확인할 점

  • 매크로는 Ctrl+Z로 되돌릴 수 없습니다. 처음 몇 번은 반드시 사본 파일에서 실행해 결과를 확인하세요.
  • 회사 보안 정책상 매크로가 막혀 있을 수 있습니다. 파일 > 옵션 > 보안 센터 설정을 바꾸기 전에 IT 담당자와 먼저 확인하세요.
  • 인터넷에서 받은 .xlsm 파일의 매크로는 내용을 확인하기 전에는 실행하지 마세요. AI가 만든 코드도 실행 전에 한 번 읽어 보는 습관이 좋습니다.
빈칸 표시가 있는 원본 프롬프트 보기
당신은 사무 자동화를 전문으로 하는 엑셀 VBA 개발자입니다.
아래 반복 작업을 자동화하는 VBA 매크로를 만들어 주세요.

[작업 내용]
{{task}}

[데이터 구조]
{{structure}}

[환경]
- 사용 환경: {{env}}
- 작성자의 VBA 경험: {{level}}

[요구사항]
1. 코드 맨 위에 Option Explicit를 쓰고, 모든 변수를 선언해 주세요.
2. 데이터 마지막 행은 고정 숫자가 아니라 코드로 찾게 해 주세요.
3. 줄마다 무슨 일을 하는지 한국어 주석을 달아 주세요.
4. 화면 깜박임을 줄이는 설정을 넣고, 끝나면 반드시 원래대로 돌려 주세요.
5. Mac 엑셀에서 동작하지 않는 기능(예: Scripting.Dictionary)을 썼다면 그 사실을 알려 주고 대안을 제시해 주세요.
6. 코드 뒤에 실행 방법(VBA 편집기 여는 법, 모듈 넣는 법, .xlsm 저장)을 작성자 경험 수준에 맞춰 단계별로 써 주세요.
7. 매크로는 실행 취소(Ctrl+Z)가 안 되므로 백업 관련 주의를 한 줄 넣어 주세요.

광고

함께 쓰면 좋은 프롬프트

엑셀·코딩

원하는 결과만 설명하면 엑셀 함수 만들어 주는 프롬프트

SUMIFS·INDEX/MATCH처럼 조건이 여러 개인 수식을 직접 짜기 어려울 때, 표 구조와 원하는 결과만 적으면 정확한 수식과 설명을 받는 프롬프트입니다.

엑셀·코딩

엑셀 #N/A·#VALUE! 오류 원인 찾고 해결하는 프롬프트

수식은 맞는 것 같은데 오류가 날 때, 수식과 데이터 상태를 알려 주면 원인 후보와 점검 순서, 수정 수식을 함께 받는 프롬프트입니다.

엑셀·코딩

엑셀 조건부 서식·지저분한 데이터 정리 방법 프롬프트

여러 사람이 입력해 형식이 제각각인 표를 정리하고, 눈에 띄어야 할 행을 조건부 서식으로 강조하는 방법을 순서대로 받는 프롬프트입니다.

엑셀·코딩

엑셀 피벗 테이블로 매출 요약표 만드는 법 프롬프트

수천 행짜리 매출·지출 데이터를 지역별·월별 요약표로 만들고 싶을 때, 피벗 테이블을 어떻게 구성하면 되는지 단계별로 받는 프롬프트입니다.

엑셀·코딩

파이썬으로 여러 엑셀 파일 하나로 합치는 코드 프롬프트

같은 양식의 엑셀 파일을 매달 복사·붙여넣기로 합치고 있다면, 폴더 경로와 파일 구조만 알려 주고 파이썬 자동화 코드를 받는 프롬프트입니다.

엑셀·코딩

엑셀 지저분한 데이터 공백·형식 한 번에 정리하는 프롬프트

여러 사람이 입력해 형식이 뒤죽박죽인 데이터를, 원본은 그대로 두고 보조 열 수식으로 깔끔하게 통일하는 방법을 받는 프롬프트입니다.

등록 2026-10-01 · 오픈프롬프트 편집팀이 직접 쓰고 시험한 프롬프트입니다. AI 답변에는 틀린 내용이 섞일 수 있으니 숫자·사실·법률 관련 내용은 반드시 확인하세요. AI 답변 확인하는 법