본문 바로가기
카테고리 없음

AI로 엑셀 VBA 만들기: Ctrl+J 단축키 연결부터 재실행 확인까지

by danie 2026. 9. 8.
반응형

엑셀에 숫자를 입력한 뒤 Ctrl+J를 누르면 그 셀 값에 1000을 곱하는 VBA 매크로를 만들어 쓰고 있습니다. 금액을 천 원 단위로 입력할 때마다 숫자 뒤에 000을 붙이는 게 번거로워서 만들었습니다.

코드는 AI의 도움을 받아 금방 만들었습니다. 오히려 시간이 걸린 건 그 코드를 내 엑셀에 붙여서, 엑셀을 다시 켜도 계속 쓰게 만드는 과정이었습니다. 이 글은 그 과정과, 다음에 AI에게 부탁한다면 처음부터 적어 둘 조건을 정리했습니다.

핵심 코드: 현재 셀 값을 1000배로 바꾸기

Sub AddThreeZeros()
    If IsNumeric(ActiveCell.Value) And ActiveCell.Value <> "" Then
        ActiveCell.Value = ActiveCell.Value * 1000
    End If
End Sub

지금 선택한 셀(ActiveCell)이 비어 있지 않고 숫자로 읽을 수 있으면, 그 값에 1000을 곱합니다. 이름은 "0을 세 개 붙인다"지만, 실제로는 글자 뒤에 0을 붙이는 게 아니라 숫자에 1000을 곱하는 계산입니다. 그래서 결과도 숫자로 남습니다.

이 코드에는 계산만 들어 있습니다. Ctrl+J로 실행되게 연결하는 일과, 엑셀을 켤 때마다 불러오는 일은 따로 해야 합니다.

계산보다 번거로웠던 것: 엑셀에 붙이기

처음에는 PERSONAL.XLSB(개인용 매크로 통합 문서)에 매크로와 단축키를 넣었습니다. PERSONAL.XLSB는 엑셀을 켤 때 뒤에서 몰래 같이 열리는 숨겨진 파일이라, 여기에 넣은 매크로는 어떤 파일에서든 쓸 수 있습니다.

그런데 제 환경에서는 엑셀을 켤 때 PERSONAL.XLSB와 관련된 충돌이 생겼습니다. 그래서 방식을 바꿔, PowerShell과 Excel COM을 이용해 .xlam 추가 기능을 만들고 등록했습니다. 매크로를 숨겨진 파일 대신 추가 기능으로 쓰는 구조입니다.

이건 제 환경에서 생긴 충돌에 맞춘 해결책입니다. PERSONAL.XLSB가 원래 불안정하다거나, 추가 기능으로 옮기면 모든 문제가 풀린다는 뜻은 아닙니다.

단축키를 연결하는 방법은 보통 두 가지입니다.

  • 매크로 창에서 지정: 매크로 목록(Alt+F8)에서 매크로를 고르고 옵션에서 바로 가기 키를 Ctrl+J로 정합니다.
  • 추가 기능이 열릴 때 코드로 지정: 추가 기능이 열릴 때 실행되는 코드에 단축키를 연결해 둡니다.

어느 방법이든, 이미 쓰고 있는 다른 단축키와 겹치지 않는지 먼저 확인하세요.

AI에게 부탁할 때 처음부터 적어 둘 조건

같은 작업을 다시 부탁한다면 이렇게 쓰겠습니다. 계산 조건뿐 아니라 단축키, 재실행, 내 환경까지 같이 적는 게 핵심입니다.

현재 활성 셀 하나의 값에 1000을 곱하는 Excel VBA를 작성해줘.
- 빈 셀과 숫자로 해석할 수 없는 값은 바꾸지 않는다.
- Ctrl+J로 실행하려고 한다.
- Excel을 종료했다가 다시 켠 뒤에도 사용하려고 한다.
코드를 넣을 위치, 단축키 연결, 재실행 후 확인 순서를 함께 설명해줘.
PERSONAL.XLSB에 둘지 .xlam 추가기능으로 둘지는 임의로 정하지 말고,
내 운영체제, Excel 버전, 기존 매크로·단축키 사용 상태부터 확인해줘.

하나 더 정해 두면 좋은 게 있습니다. 셀에 숫자처럼 보이는 글자(예: 텍스트로 저장된 "12")가 있을 때도 바꿀지입니다. VBA의 IsNumeric은 숫자로 해석되는 글자도 숫자로 판단하기 때문에, 원하는 동작을 미리 적어 두는 편이 안전합니다.

꼭 복사본에서 먼저 시험하세요

매크로로 바꾼 값은 Ctrl+Z로 되돌릴 수 없습니다. 매크로를 실행하면 엑셀의 실행 취소 기록이 지워지기 때문입니다. 그래서 업무 파일이 아니라 복사본에서 먼저 확인하는 게 중요합니다.

제가 확인하는 순서는 이렇습니다.

확인할 것해 볼 동작기대하는 결과
숫자 셀12를 입력한 셀에서 Ctrl+J12000으로 바뀜
빈 셀값이 없는 셀에서 Ctrl+J빈 상태 그대로
문자 셀'메모'를 입력한 셀에서 Ctrl+J'메모' 그대로
두 번 실행12000이 된 셀에서 Ctrl+J 한 번 더12000000으로 바뀜 (한 번만 누르도록 주의)
엑셀 재실행엑셀을 껐다 켜고 새 숫자에서 Ctrl+J처음처럼 1000배로 바뀜

특히 마지막 줄이 중요합니다. 지금 열린 엑셀에서는 되는데 껐다 켜면 안 되는 경우가 많습니다. 저도 이 부분에서 가장 오래 걸렸습니다.

안 될 때 다시 물어보는 법

동작하지 않으면 AI에게 아래 내용을 같이 알려 주세요.

  • 운영체제와 엑셀 버전
  • 코드를 넣은 파일 (PERSONAL.XLSB인지, 추가 기능인지, 일반 파일인지)
  • 매크로를 직접 실행했을 때와 단축키를 눌렀을 때의 차이
  • 오류 메시지가 있다면 그 문구 그대로

"안 돼요"보다 이 네 가지를 알려 주면 훨씬 빨리 원인을 찾을 수 있습니다.

정리

AI로 VBA를 만들 때 코드 자체는 금방 나옵니다. 시간이 드는 건 단축키 연결, 엑셀 재실행 후에도 쓰게 만들기, 복사본에서 확인하기입니다. 처음 부탁할 때부터 이 조건을 같이 적어 두면, 저처럼 붙이는 단계에서 헤매는 시간을 줄일 수 있습니다.

반응형