미해결
셀내에 줄바꿈으로 입력되어 있는 내용 합계
안녕하세요
업무상 VBA를 자주 사용하고 있습니다.
평소 막히는 부분이 있어도 구글링 등을 통해 문제해결을 하고 있습니다.
그런데 요근래 사진처럼 1개의 셀에 줄바꿈으로 입력되어 있는 내용을 우측처럼
중복제거하면서 건수는 합계를 내야하는 상황이 생겼는데요,
VBA로 배열, split 등 검색하면서 해보았는데 사진과 같은 결과가 나오지 않고 있습니다.
강사님 도움이 필요합니다.^^
이런경우 VBA로 어떻게 구문을 작성해야 하는지 잘 모르겠습니다.
업무상 VBA를 자주 사용하고 있습니다.
평소 막히는 부분이 있어도 구글링 등을 통해 문제해결을 하고 있습니다.
그런데 요근래 사진처럼 1개의 셀에 줄바꿈으로 입력되어 있는 내용을 우측처럼
중복제거하면서 건수는 합계를 내야하는 상황이 생겼는데요,
VBA로 배열, split 등 검색하면서 해보았는데 사진과 같은 결과가 나오지 않고 있습니다.
강사님 도움이 필요합니다.^^
이런경우 VBA로 어떻게 구문을 작성해야 하는지 잘 모르겠습니다.
홍
정
예
당
y
댓글 2
VBA 코드 작성하여 예제파일과 같이 첨부하여 드리니 확인해보세요.
상황에 맞춰 적절히 수정하여 사용하시기 바랍니다.
보조명령문으로 ExtractNumber, ExtractLetter 함수가 사용하였습니다.^^
관련하여 Regex 쪽을 좀 더 공부하시면 많은 도움이 되실겁니다.
Dim Letters As String
Dim dicVal As Dictionary
Dim Vals As Variant: Dim Val As Variant
Set dicVal = New Dictionary
If IsObject(Rng) Then
Vals = Split(Rng.Value, Chr(10))
For Each Val In Vals
Letters = ExtractLetter(Val)
If Not dicVal.Exists(Letters) Then
dicVal.Add Letters, CDbl(ExtractNumber(Val))
Else
dicVal(Letters) = dicVal(Letters) + CDbl(ExtractNumber(Val))
End If
Next
End If
For Each Val In dicVal.Keys
SumByUnique = SumByUnique & Val & dicVal(Val) & Chr(10)
Next
SumByUnique = Left(SumByUnique, Len(SumByUnique) - 1)
End Function
제시해드린 답변이 도움이 되셨길 바랍니다.
감사합니다.
잘 해결 되었습니다.^^