본문 바로가기

 

 

목 차

    인공지능 (chatgpt)과 동행

    챗gpt 사용법 - 코드를 몰라도 원하는 엑셀 매크로 자유자재로 만들기!

    by 아지니어 (아빠 + 엔지니어) 2023. 2. 10.

    챗gpt 사용법 - 코드를 몰라도 원하는 엑셀 매크로 자유자재로 만들기!

     

    안녕하세요.

     

    이번 포스팅에서는 챗gpt를 활용하여 원하는 기능을 엑셀 매크로로 만드는 방법에 대해 공유해 드리고자 합니다.

     

    저도 엔지니어로써 반복되는 업무는 매크로를 사용하여 자동화 작업을 자주 하곤 하는데 챗gpt가 등장함에 따라 챗gpt를 사용하여 엑셀 vba 코드를 작성해 달라고 부탁해 보았습니다.

     

    결과는 코드를 수정할 필요도 없이 상상이었으며, vba 문법을 전혀 이해하지 못하는 사람이라도 누구나 쉽게 본인이 원하는 기능을 구현할 수 있을 듯하여 관련 내용을 공유드리고자 합니다.

     

    챗gpt 사용법, 엑셀 매크로 만들기

     

     

    챗gpt 사용법 및 활용: 엑셀 매크로 만들기

     

    챗gpt를 활용하면 코드를 알지 못해도 원하는 엑셀 매크로 만들기가 가능해서 업무 중 반복적인 일로 시간이 많이 소요되는 일을 자동화하여 업무 효율을 극대화할 수 있을 듯합니다.

     

    우선 기본적인 챗gpt 사용법 및 구성에 대해서는 아래의 포스팅을 참조해 주세요.

    ChatGPT 사용법 (챗GPT 가입부터 어플 그리고 기본 구성까지)

     

    ChatGPT 사용법 (챗GPT 가입부터 어플 그리고 기본 구성까지)

    ChatGPT 사용법 (챗GPT 가입부터 어플 그리고 기본 구성까지) 안녕하세요. 이번 포스팅에서는 최근 가장 핫한 이슈는 chatgpt 사용법에 대해 챗gpt 가입에서부터 어플 그리고 기본 구성까지 쳇gpt를 사

    allmightypapa.tistory.com

     

     

    1) 챗gpt를 통해 원하는 기능의 엑셀 매크로를 만들려면 우선 원하는 기능에 대한 정의를 명확히 내려야 합니다.

     

    제가 예제로 챗gpt를 활용하여 엑셀 매크로 만들기를 시도해 본 기능은 아래와 같습니다.

     

    Sheet1의 내용과 Sheet2의 숫자만을 비교하여, 값이 동일하면 Sheet3로 해당 값을 이동하고,
    옮긴 값의 총 합을 구해 표기. 이후 결과물을 지정된 파일 이름으로 바탕화면에 자동저장.

    챗gpt 사용법 및 활용, 엑셀 매크로 만들기

     

    2) 그리고 이러한 기능을 글로 정리하여 챗gpt에게 문의하여야 합니다.

     

    지난 포스팅에서도 설명드렸듯이 이를 프롬프트라고 하며 프롬프트에 원하는 기능을 일목요연하게 작성하여 알려줘야 원하는 기능의 엑셀 매크로 만들기가 가능합니다.

     

    아래는 제가 위에 기술한 기능의 프롬프트 예제입니다.

     

    --프롬프트 예제 시작--

     

    '기능1'을 실행하는 엑셀 매크로 코드 (vb) 작성.

    요구 기능에 대한 설명

    1) sheet1의 a row의 값과 sheet2의 a row 값을 동일 행마다 비교하여 서로 값이 같으면
       sheet3의 동일한 a row의 위치로 그 값을 옮기고, 값을 옮긴 셀의 색상을 노란색으로 변경. 
    2) sheet1 a row의 값이 숫자일 경우에만 비교를 진행.
    3) sheet1 a row값이 존재할 경우에만 비교 진행.
    4) sheet3의 c3 셀에 sheet3 a row의 숫자를 모두 합하여 빨간색으로 표기
    5) 마지막 결과를 'result.xlsm'라는 파일 이름으로 바탕화면 (C:\Users\Family.FAMILY-PC0\Desktop)에 저장.
    6) 작업이 완료되면 '완료'라는 메세지 출력과 ok 버튼 제공.

     

    --프롬프트 예제 끝--

     

     

    3) 프롬프트가 완료되면 아래와 같이 챗gpt가 관련 코드를 리턴해주며 해당 코드를 복사합니다. 

     

    챗gpt 사용법 및 활용, 엑셀 매크로 만들기

     

     

    Sub 기능1()
        Dim i As Long
        Dim sh1 As Worksheet, sh2 As Worksheet, sh3 As Worksheet
        Set sh1 = ThisWorkbook.Sheets("Sheet1")
        Set sh2 = ThisWorkbook.Sheets("Sheet2")
        Set sh3 = ThisWorkbook.Sheets("Sheet3")
        
        For i = 1 To 1000
            If sh1.Cells(i, 1).Value <> "" Then
                If IsNumeric(sh1.Cells(i, 1).Value) Then
                    If sh1.Cells(i, 1).Value = sh2.Cells(i, 1).Value Then
                        sh3.Cells(i, 1).Value = sh1.Cells(i, 1).Value
                        sh3.Cells(i, 1).Interior.Color = RGB(255, 255, 0)
                    End If
                End If
            End If
        Next i
        
        Dim sum As Long
        For i = 1 To 1000
            If IsNumeric(sh3.Cells(i, 1).Value) Then
                sum = sum + sh3.Cells(i, 1).Value
            End If
        Next i
        sh3.Cells(3, 3).Value = sum
        sh3.Cells(3, 3).Interior.Color = RGB(255, 0, 0)
        
        ThisWorkbook.SaveAs Filename:="C:\Users\Family.FAMILY-PC0\Desktop\result.xlsm", FileFormat:=52
        
        MsgBox "완료", vbOKOnly
    End Sub

     

    4) 엑셀을 열어 '엑셀 옵션 → 기본설정'에서 '리본 메뉴에 개발 도구 탭 표시'를 선택해 줍니다. 

     

    사용하고 계신 엑셀 버전에 따라 '개발도구 탭 표시'를 선택하는 방법이 상이할 수 있으니 참고하시기 바랍니다.

     

    챗gpt 사용법 및 활용, 엑셀 매크로 만들기

     

    5) 엑셀 메인 메뉴에서 '개발도구 → Visual Basic'을 선택합니다.

     

    챗gpt 사용법 및 활용, 엑셀 매크로 만들기

     

    6) 이후 아래 그림과 같이 VBA 코드를 작성할 수 있는 화면이 열리며, 챗gpt에서 복사한 코드를 붙여 넣고 저장합니다.

     

    제가 원하는 기능에 대한 프롬프트 작성 시 기능의 이름을 '기능1'이라고 정의하였기에 아래 vba 코드에도 '기능1'이라는 이름이 사용된 것을 확인할 수 있습니다 (Sub 기능1()).

     

    챗gpt 사용법 및 활용, 엑셀 매크로 만들기

     

     

    7) 다시 메인 메뉴로 돌아오셔서 '개발도구 → 매크로'를 선택합니다.

     

    챗gpt 사용법 및 활용, 엑셀 매크로 만들기

     

    8) 아래와 같이 '기능1' 이라는 엑셀 매크로 만들기가 완료된 것을 확인할 수 있으며, 여기서 '옵션'이라는 항목을 선택하시고 바로 가기 키에 영문자 a를 입력하시면, 추후에 'Ctrl + a'를 클릭하실 때마다 '기본 1'이라는 매크로가 자동 실행됩니다.

     

    챗gpt 사용법 및 활용, 엑셀 매크로 만들기

     

    9) 엑셀 메인으로 돌아와서 'Ctrl + a'를 누르시면 아래와 같이 1) 단계에서 기술한 기능이 구현된 것을 확인할 수 있습니다.

     

    챗gpt 사용법 및 활용, 엑셀 매크로 만들기

     

     

    지금까지 챗gpt 사용법 및 활용에 대해 알아보았습니다.

     

    제가 직접 사용해 보니 챗gpt를 활용하면 vba 코드를 전혀 알지 못해도 원하는 기능을 체계적으로 잘 기술할 수만 있다면  엑셀 매크로 만들기가 충분히 가능한 듯 판단되었습니다.

     

    업무 중에 필요한 자동화 기능이 있으시다면 큰 테두리의 기능을 기술하시고, 이를 토대로 세부적인 기능을 조금씩 붙여 나가 프롬프트를 완성하시면 아무리 복잡한 기능이라도 챗gpt의 도움으로 충분히 스스로 만드실 수 있으리라 봅니다. 

     

     

    '좋아요' 또는 댓글은 제가 포스팅을 이어나가는 데 큰 힘이 됩니다.

    ※ 회사에서 사용하면 유용한 기능들에 대한 또 다른 포스팅은 아래를 참조하세요.

    독일 직장에서도 통하는 업무 효율성을 높여주는 엑셀 활용법: 엑셀 창 분리, 엑셀 창 동기화, 엑셀 화면 분리

     

    독일 직장에서도 통하는 업무 효율성을 높여주는 엑셀 활용법: 엑셀 창 분리, 엑셀 창 동기화, 엑

    독일 직장에서도 통하는 업무 효율성을 높여주는 엑셀 활용법: 엑셀 창 분리, 엑셀 창 동기화, 엑셀 화면 분리 안녕하세요. 이번 포스팅에서는 업무 효율성을 높여주는 소소한 팁, 바로 엑셀 활

    allmightypapa.tistory.com

    직장인 투잡, 수익 자동화를 위한 '자동 매크로 기록' 사용법 (1)!

     

    직장인 투잡, 수익 자동화를 위한 '자동 매크로 기록' 사용법 (1)!

    직장인 투잡을 하고 계신가요? 빠듯한 시간을 효율적으로 사용하기 위해 자동 매크로를 100% 활용해 보세요. 초보자가 코딩을 업무 및 투잡에 적용 시키는 가장 현실적인 방법~ 안녕하세요. 이번

    allmightypapa.tistory.com

    독일 직장 메일 전송 실수를 만회하는 방법, 아웃룩 (Outlook) 메일 회수!

     

    독일 직장 메일 전송 실수를 만회하는 방법, 아웃룩 (Outlook) 메일 회수!

    독일 직장 메일 전송 실수를 만회하는 방법, 아웃룩 (Outlook) 메일 회수! 안녕하세요. 이번 포스팅에서는 직장 생활 중 메일 전송 실수를 만회할 수 있는 법 (아웃룩 메일 회수 방법)에 대해 알려드

    allmightypapa.tistory.com

     

    댓글