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

VBA
작성자
수메리안
작성일
2023-04-13 17:31
조회
1063
엑셀버전 : 엑셀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로 나왔습니다~

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

도움을 부탁드립니다~

신고
스크랩
공유
회원등급 : 9레벨
포인트 : 737 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,462
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
오빠두엑셀 | 2022.02.03 | 추천 572 | 조회 599507
오빠두엑셀 2022.02.03 572 599507
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 310 | 조회 34893
오빠두엑셀 2021.10.28 310 34893
78402 함수/공식
New 괄호안의 시간:분 데이터를 분으로 합산하는 방법 질문드립니다. 엑셀파일첨부파일 (1) 답변완료
nams | 18:27 | 추천 0 | 조회 40
nams 18:27 - 40
78400 함수/공식
New 2차배열에서 countif 첨부파일 (5)
라면이가좋아 | 17:58 | 추천 0 | 조회 43
라면이가좋아 17:58 - 43
78399 함수/공식
New 한달의 마지막주 스케쥴 작성시 전주까지의 휴무 누적 합계 구하는 방법이 궁금합니다. 엑셀파일첨부파일 (2)
쭈누 바라기 | 17:50 | 추천 0 | 조회 33
쭈누 바라기 17:50 - 33
78398 VBA
New VBA 매크로 여러 엑셀 파일에서 사용 (1)
shhhha | 17:02 | 추천 0 | 조회 40
shhhha 17:02 - 40
78396 함수/공식
New 직원별로 근태 합계를 확인하고 싶어요 엑셀파일 (12) 답변완료
배진희 | 13:50 | 추천 0 | 조회 70
배진희 13:50 - 70
78395 함수/공식
New 특정 단어를 포함한 행 골라내는 방법에 대해 문의드립니다. (3) 답변완료
mmm1010 | 13:36 | 추천 0 | 조회 45
mmm1010 13:36 - 45
78392 함수/공식
New 도와주세요... ( 특정값에 해당하는 반 번호 찾아 목록만들기) 엑셀파일첨부파일 (1)
김동생 | 13:02 | 추천 0 | 조회 42
김동생 13:02 - 42
78389 기능/도구
New 오빠두LIVE 196회 - 엑셀 프로젝트 관리 _ 일,주 바꾸는법 엑셀파일 (1)
일류 | 09:21 | 추천 0 | 조회 51
일류 09:21 - 51
78387 함수/공식
New 엑셀 관련 질문입니다. SUM과 IFERROR 입니다 ㅠ (6)
| 2025.04.27 | 추천 0 | 조회 97
2025.04.27 - 97
78382
New Excel 추세선 이상 엑셀파일 (2)
eagle | 2025.04.27 | 추천 0 | 조회 71
eagle 2025.04.27 - 71
78381 함수/공식
New 같은 이름 N 번째 데이터 엑셀파일첨부파일 (14) 답변완료
박정호 | 2025.04.27 | 추천 1 | 조회 107
박정호 2025.04.27 1 107
78380 함수/공식
New On Error Resume Next 문구를 삽입하는 위치는? (2)
GEEM | 2025.04.27 | 추천 0 | 조회 75
GEEM 2025.04.27 - 75
78376 함수/공식
New 지역별 증감금액 확인 엑셀파일 (3) 답변완료
충무공 | 2025.04.26 | 추천 0 | 조회 73
충무공 2025.04.26 - 73
78374 함수/공식
New index를 활용한 조건에 맞는 금액을 찾는 방법 엑셀파일첨부파일 (4)
뚜둥뚜둥 | 2025.04.26 | 추천 0 | 조회 87
뚜둥뚜둥 2025.04.26 - 87
78372 기능/도구
New 표서식 차이 문의 첨부파일 (2) 답변완료
hossang**** | 2025.04.25 | 추천 0 | 조회 62
hossang**** 2025.04.25 - 62
78370 피벗테이블
New (피벗테이블) 2024년 2025년 판매 TOP10 비교데이터 첨부파일 (13)
패션피플 | 2025.04.25 | 추천 0 | 조회 84
패션피플 2025.04.25 - 84
78369 구글시트
New 엑셀을 구글 시트와 연동하는 법 (1)
물만둡 | 2025.04.25 | 추천 0 | 조회 67
물만둡 2025.04.25 - 67
78368 함수/공식
New 곱하기 계산시 0일때도 계산하고 싶습니다 엑셀파일 (2)
또야 | 2025.04.25 | 추천 0 | 조회 80
또야 2025.04.25 - 80
78366
New 엑셀 일정 범위 내 최대값 가져오기 함수식 문의 (조건 있음) 엑셀파일 (3)
peac**** | 2025.04.25 | 추천 0 | 조회 61
peac**** 2025.04.25 - 61
78358
New 파워포인트 글씨 굵게 (1)
쫄면김밥 | 2025.04.24 | 추천 0 | 조회 40
쫄면김밥 2025.04.24 - 40
78354 문서서식
New 구글스프레드시트 숨기기 질문이에요! 첨부파일 (1)
Aberdeen | 2025.04.24 | 추천 0 | 조회 61
Aberdeen 2025.04.24 - 61
78352 피벗테이블
New 여러 피벗테이블 하나의 슬라이서로 동작과 테이블간 관계 만들기 문의 엑셀파일첨부파일 (3) 답변완료
이미자 | 2025.04.24 | 추천 0 | 조회 82
이미자 2025.04.24 - 82
78347 대시보드
New 대시보드 결과 값끼리 열 비교하기 (4)
아네모네 | 2025.04.24 | 추천 0 | 조회 76
아네모네 2025.04.24 - 76
78346 함수/공식
New 요일별 색상 구분 엑셀파일 (4)
슈토파이터 | 2025.04.24 | 추천 0 | 조회 86
슈토파이터 2025.04.24 - 86
78344 VBA
New 첫 셀에만 수식입력하면 열 전체가 자동으로 수식 적용되는 기능 푸는방법 문의 첨부파일 (6) 답변완료
나라달 | 2025.04.24 | 추천 0 | 조회 110
나라달 2025.04.24 - 110
78342
New 만년 달력 관련 도와주세요.ㅠㅠ
주식회사 티에프티 | 2025.04.24 | 추천 0 | 조회 57
주식회사 티에프티 2025.04.24 - 57
78341 함수/공식
New sumproduct 조건에 관해서 (1)
쪼쪼 | 2025.04.24 | 추천 0 | 조회 87
쪼쪼 2025.04.24 - 87
78340 피벗테이블
New 다중영역 피벗테이블에서 영역을 표만들기로 적용하는 경우 오류발생, 원인을 모르겠습니다 엑셀파일첨부파일 (2)
S지니 | 2025.04.24 | 추천 0 | 조회 55
S지니 2025.04.24 - 55
78339 함수/공식
New 엑셀이느려집니다 ㅠ 자동견적서만드는데 VLOOKUP을 너무많이써서그런가 원인좀 봐주세요 (2)
리더실드 | 2025.04.24 | 추천 0 | 조회 95
리더실드 2025.04.24 - 95
78335
New 인쇄시 양식을 배경으로 깔 수 있을까요? (1)
emma6094 | 2025.04.24 | 추천 0 | 조회 43
emma6094 2025.04.24 - 43