5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
미해결

셀내에 줄바꿈으로 입력되어 있는 내용 합계

조프로
4월 9일 조회 3,569
안녕하세요

업무상 VBA를 자주 사용하고 있습니다.

평소 막히는 부분이 있어도 구글링 등을 통해 문제해결을 하고 있습니다.

 

그런데 요근래 사진처럼 1개의 셀에 줄바꿈으로 입력되어 있는 내용을 우측처럼

중복제거하면서 건수는 합계를 내야하는 상황이 생겼는데요,

VBA로 배열, split 등 검색하면서 해보았는데 사진과 같은 결과가 나오지 않고 있습니다.

강사님 도움이 필요합니다.^^

 

이런경우 VBA로 어떻게 구문을 작성해야 하는지 잘 모르겠습니다.

댓글 2

오빠두엑셀 4월 10일
안녕하세요?^^
VBA 코드 작성하여 예제파일과 같이 첨부하여 드리니 확인해보세요.
상황에 맞춰 적절히 수정하여 사용하시기 바랍니다.
보조명령문으로 ExtractNumber, ExtractLetter 함수가 사용하였습니다.^^
관련하여 Regex 쪽을 좀 더 공부하시면 많은 도움이 되실겁니다.
Function SumByUnique(Rng)

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

제시해드린 답변이 도움이 되셨길 바랍니다.
감사합니다.
조프로 작성자 4월 10일
강사님 답변 정말 감사드립니다.
잘 해결 되었습니다.^^

질문답변 게시판의 최근 글

스크랩 완료