매일 채워가는 꽃바구니
VBA 중복과 비중복 고려하여 누적 Counting 하기 본문
지식인 질문 :
안녕하세요.
긴급하게 엑셀을 정리해야 합니다. 엑셀에 대한 기초가 없는 저로서는 상당히 힘든 작업이네요.
매번 3000개가 넘는 행을 일일이 확인하며 수작업으로 하려니 시간도 많이 걸리고, 오류도 많이 생기네요.
또 이런 작업을 매주 해야 하다보니, 고수님들의 고언을 부탁드립니다.
아래의 예 1) 에서 보시면 원본자료는 A,B만 있습니다. 옆의 예 2)는 수작업한 자료입니다.
그 아래의 예 3)은 최종작업까지 끝낸 자료입니다.
함수등을 이용해서 예2) 정도만 되도 만족입니다.
결론을 말씀드리자면 A,B의 사용자 지정 정열을 사용해서 오름차순으로 정열한 다음 새로운 열을 만들어 CARTON NO.(박스 번호)를 1번부터 순차적으로 표시하고자 하는 것 입니다.
A 2, B2/ A3, B3 / A4, B4 행이 같으면 이 세개의 행은 1이 됩니다.
그다음은 A5,B5는 하나이기 때문에 2가 되구요.
또, A26, B26은 숫자가 바뀌지만 C열의 순서에 따라 값이 16번 박스가 되는 식입니다.
(A34, B34 부터도 마찬가지 이구요)
(A,B의 행 숫자가 같으면 한 박스에 포장되어 있다는 뜻입니다.)
본좌 답변 :
조금 까다로우실 수도 있어서 동영상 참조하면서 따라해보시기 바랍니다.
그리고 셀을 합치는 부분 같은 경우는 수작업이 가장 빠를 듯 한 생각이 듭니다만,
다른 고수님의 의견중에 수렴할 부분이 있으면 수렴하시기 바랍니다^^
궁금하신 사항은 쪽지나 댓글 달아주세요^^
↓ 복사해서 사용하세요
Public Sub carton()
Dim k As Integer
Dim i As Integer
k = 1
Cells(2, 3) = k
' 이 For문에서 데이터의 줄 수를 적어주면 됩니다. (빨간부분변경으로)
For i = 3 To 20
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2) Then
Cells(i, 3) = k
Else
k = k + 1
Cells(i, 3) = k
End If
Next
End Sub
'VBA Excel' 카테고리의 다른 글
값이 틀린 셋 자동 비교 (0) | 2009.08.06 |
---|---|
VBA #4. 기본기 및 Language (0) | 2009.08.02 |
VBA 특정 조건에 맞는 셀 표시하기 (0) | 2009.07.31 |
VBA 문자열 조합하기(단순버전) (0) | 2009.07.31 |
VBA이용 시트간 자료 비교 (0) | 2009.07.31 |