chatGPT로 발주요청서를 이틀째 코딩하고 있는데 결과가 문제가 있어 도움을 요청드립니다~

VBA
작성자
수메리안
작성일
2023-04-13 17:31
조회
1073
엑셀버전 : 엑셀2019

운영체제 : 윈도우10

질문 요약 : D열의 셀값이 같을 때 K열 셀값에 따라 D열 셀값을 바꾸는 코딩입니다~

안녕하세요, 고수님들~
오빠두엑셀에서 많은 도움을 받고 있고 chatGPT를 통해 코딩을 많이 하고 있습니다~
chatGPT에 아래와 같이 질문을 올렸습니다~
<코딩하고자 하는 시트>

<질문>
엑셀vba로 D열에서 셀값이 같은 셀들이 1개이하이면 그대로 나두고, 2개 이상이고 그 셀들에 해당하는 K열 셀값들이 모두 같으면 그대로 나두고, 아니면 K열 셀들 값이 하나라도 다른 경우, K열 셀값이 "AX000001"이면 해당 L열 셀값에 하이픈" 1"을 추가하고, K열 셀값이 "AX000002"이면 L열 셀값에 하이픈 "2"를 추가하고, D열과 L열을 결합할때 L열 셀값이 비어있으면 그대로 두고, L열에 셀값이 있으면 D열과 결합하고 L열을 삭제해 주는 프로그래밍을 해주세요
<답>
Sub ProcessData()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "D").End(xlUp).Row ' D열의 마지막 행을 찾음

Dim dict As Object ' 딕셔너리 객체 생성
Set dict = CreateObject("Scripting.Dictionary")

Dim i As Long
For i = 2 To lastRow ' 헤더가 있으므로 2부터 시작
Dim dValue As String
Dim kValue As String
Dim lValue As String

dValue = Cells(i, "D").Value
kValue = Cells(i, "K").Value
lValue = Cells(i, "L").Value

If Not dict.exists(dValue) Then
' 딕셔너리에 D열 값이 없으면 추가
' 셀값이 같은 셀들이 1개 이하이면 그대로 나두는 경우
dict(dValue) = Array(kValue, lValue)
Else
Dim values As Variant
values = dict(dValue)

' 셀값이 같은 셀들이 2개 이상이고 그 셀들에 해당하는 K열 셀값들이 모두 같으면 그대로 나두는 경우
If values(0) = kValue Then
dict(dValue) = Array(kValue, lValue)
Else
' K열 셀값이 하나라도 다른 경우
If kValue = "AX000001" Then
lValue = lValue & "-1"
ElseIf kValue = "AX000002" Then
lValue = lValue & "-2"
End If
dict(dValue) = Array(kValue, lValue)
End If
End If
Next i

' 딕셔너리에 저장된 값을 기반으로 D열과 L열을 처리
For i = 2 To lastRow ' 헤더가 있으므로 2부터 시작
' Dim dValue As String
' Dim lValue As String

dValue = Cells(i, "D").Value
lValue = dict(dValue)(1) ' 딕셔너리에서 L열 값 가져오기

If lValue = "" Then
' L열 셀값이 비어있으면 그대로 두는 경우
Else
' L열 셀값이 있으면 D열과 결합하고 L열 삭제
Cells(i, "D").Value = dValue & " " & lValue
Cells(i, "L").ClearContents
End If
Next i
End Sub
<결과>

<오류부분>

D열 8행 값이 20230412-108-1 이어야 하는데 20230412-108-2로 나왔습니다~

이 부분을 해결하고자 도움을 구하고 있습니다. 벌써 사흘째입니다^^;;

도움을 부탁드립니다~

신고
스크랩
공유
회원등급 : 10레벨
포인트 : 742 EP
총질문 : 25 개 (마감율 : 80%)
채택답변 : 1 개
전체 3

  • 2023-04-13 19:23
    채택된 답변

    @수메리안 님 도움을 드리고 싶지만.. 이건 살펴보는데 시간이 다소 걸릴 것 같아서 오류가 의심되는 부분만 남겨드립니다..

    ' K열 셀값이 하나라도 다른 경우
    If kValue = "AX000001" Then
    lValue = lValue & "-1"
    ElseIf kValue = "AX000002" Then
    lValue = lValue & "-2"
    End If

    아마 이부분이 오류일 것이고, kValue가 AX000001 이 아니라 AX000002 or 다른 값으로 잡혀서 그럴겁니다

    코드 앞에 Stop을 걸고, 지역창이나 직접실행창으로 디버깅해보세요


    • 2023-04-14 15:44

      @더블유에이 님 좋은 힌트 감사드립니다~
      이 부분을 집중적으로 검토하여 chatGPT를 돌리면서 해답을 찾아서 해결했습니다^^

      chatGPT를 활용하면서 나름대로 문제들을 체계적으로 정리하고 조건들을 체계화하면서 많은 도움을 받게 되었습니다.

      더블유에이님의 혜안에 감사드립니다~^^)/


  • 2023-04-16 15:41

    @수메리안 님 어렵네요..


전체 18,532
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (315)
오빠두엑셀 | 2022.02.03 | 추천 575 | 조회 609682
오빠두엑셀 2022.02.03 575 609682
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 310 | 조회 35541
오빠두엑셀 2021.10.28 310 35541
78582 함수/공식
New 조건 함수 의 관한 문의 엑셀파일첨부파일 (4) 답변완료
예쁜나야 | 15:46 | 추천 0 | 조회 31
예쁜나야 15:46 - 31
78580
New 날짜와 시간 분할 방법 알려 주세요 엑셀파일첨부파일 (1)
계양산 지기 | 15:14 | 추천 0 | 조회 24
계양산 지기 15:14 - 24
78575 VBA
New 엑셀 재고관리 프로그램 문의드립니다.. 첨부파일 (1)
SJ | 04:23 | 추천 0 | 조회 64
SJ 04:23 - 64
78570 대시보드
New 대시보드에 표 형식으로 표현도 가능한가요? 첨부파일 (2)
룰루랄라 | 2025.05.12 | 추천 0 | 조회 66
룰루랄라 2025.05.12 - 66
78569 함수/공식
New 서로 다른 양식의 견적서 엑셀 파일 한곳에 정리 하기 (5)
gh**** | 2025.05.12 | 추천 0 | 조회 95
gh**** 2025.05.12 - 95
78565 함수/공식
New 검색보고서 만들기 질문드립니다. 엑셀파일 (9) 답변완료
만식이햄 | 2025.05.12 | 추천 0 | 조회 82
만식이햄 2025.05.12 - 82
78563 VBA
New VBA 수정 부탁드립니다. ㅠ (3)
서비 | 2025.05.12 | 추천 0 | 조회 72
서비 2025.05.12 - 72
78560 함수/공식
New 어떻게 내용을 가져올수 있을지 고수님들의 해결방법들을 공유 받고 싶습니다!!.... 엑셀파일첨부파일 (2)
꾸르형 | 2025.05.12 | 추천 0 | 조회 43
꾸르형 2025.05.12 - 43
78559 파워쿼리/피벗
New 엑셀 자동화 질문 입니다... 엑셀파일 (2) 답변완료
안녕하세여11 | 2025.05.12 | 추천 0 | 조회 65
안녕하세여11 2025.05.12 - 65
78555 함수/공식
New 시트에서 원하는 열의 자료만 가져오고싶은데 아무리 해도 수식오류가 나서 도움을 구하고자 합니다 엑셀파일 (4) 답변완료
khs**** | 2025.05.12 | 추천 0 | 조회 41
khs**** 2025.05.12 - 41
78554 함수/공식
New 변동하는 절대참조값 적용 (6) 답변완료
화이또! | 2025.05.12 | 추천 0 | 조회 63
화이또! 2025.05.12 - 63
78553 대시보드
New 대시보드_슬라이서 자동으로 눌러지게 하는방법 첨부파일 (1)
검도림 | 2025.05.12 | 추천 0 | 조회 46
검도림 2025.05.12 - 46
78548 대시보드
New 어떤 엑셀을 적용해야하는 지 문의드립니다! (1)
룰루랄라 | 2025.05.11 | 추천 0 | 조회 64
룰루랄라 2025.05.11 - 64
78546 함수/공식
New 월별 매출액 자동입력할 수 있는 방법 또는 함수 궁금합니다! 엑셀파일 (2)
mmm1010 | 2025.05.11 | 추천 0 | 조회 84
mmm1010 2025.05.11 - 84
78544 함수/공식
New 중복값 제거 함수에 관하여 엑셀파일첨부파일 (1) 답변완료
김지훈(Derek) | 2025.05.11 | 추천 0 | 조회 74
김지훈(Derek) 2025.05.11 - 74
78543 함수/공식
New 데이터 추출 및 정렬관련 초보질문 엑셀파일첨부파일 (5) 답변완료
김지훈(Derek) | 2025.05.11 | 추천 0 | 조회 66
김지훈(Derek) 2025.05.11 - 66
78540 함수/공식
New 오빠두LIVE 219회 - 엑셀 '셀 병합' 자동화 보고서 만들기 오빠두엑셀님의 방법이 궁금합니다. 첨부파일
AURIC | 2025.05.10 | 추천 0 | 조회 57
AURIC 2025.05.10 - 57
78536 함수/공식
New 월별로 금액적용후 최종월에 차액을 가감 함수가 필요해요 엑셀파일 (1) 답변완료
낮은자 | 2025.05.10 | 추천 0 | 조회 62
낮은자 2025.05.10 - 62
78535 기능/도구
New 엑셀로 25x25 인쇄가 가능한가요? (1)
망나 | 2025.05.10 | 추천 0 | 조회 47
망나 2025.05.10 - 47
78534 파워쿼리/피벗
New 쿼리에 함수 적용한 열 추가 시 24:00:00 활용한 계산 함수 필요할 때. 첨부파일 (2) 답변완료
신노스케 | 2025.05.10 | 추천 0 | 조회 61
신노스케 2025.05.10 - 61
78531 차트/그래프
New 엑셀 차트 데이터테이블 엑셀파일첨부파일 (1)
| 2025.05.09 | 추천 0 | 조회 72
2025.05.09 - 72
78530 구글시트
New 구글 스프레드시트 함수 관련 질문입니다. 엑셀파일첨부파일 (2)
동그이 | 2025.05.09 | 추천 0 | 조회 61
동그이 2025.05.09 - 61
78528 구글시트
New 구글 스프레드시트를 외부 엑셀 파일과 연동하는 방법이 궁금합니다. (3)
머우터덩 | 2025.05.09 | 추천 0 | 조회 65
머우터덩 2025.05.09 - 65
78525 문서서식
New 업무가 진행이 안 될 정도로, 해당 파일이 느립니다! 엑셀파일 (2)
빌스택스 | 2025.05.09 | 추천 0 | 조회 89
빌스택스 2025.05.09 - 89
78520 기능/도구
New 하이퍼링크 명칭 해제 (1)
min | 2025.05.09 | 추천 0 | 조회 49
min 2025.05.09 - 49
78518 피벗테이블
New 피벗테이블 관련 화살표 질문 첨부파일
이모비니 | 2025.05.09 | 추천 0 | 조회 47
이모비니 2025.05.09 - 47
78516 함수/공식
New 호봉산정 엑셀 문의드립니다. 엑셀파일첨부파일 (2) 답변완료
아르카디안 | 2025.05.08 | 추천 0 | 조회 55
아르카디안 2025.05.08 - 55
78515 함수/공식
New 엑셀 질문 드립니다.ㅠ.ㅠ 첨부파일 (1)
숲의사제 | 2025.05.08 | 추천 0 | 조회 51
숲의사제 2025.05.08 - 51
78511 함수/공식
New 입사일자로 부터 매년 알림 (2)
국빱 | 2025.05.08 | 추천 0 | 조회 66
국빱 2025.05.08 - 66
78510 문서서식
New 조건부 서식 적용 문의 엑셀파일첨부파일 (2) 답변완료
장수벌레 | 2025.05.08 | 추천 0 | 조회 99
장수벌레 2025.05.08 - 99