http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=F58Bnp3HKRQdqYHoxQEGbQ7uZdb74Ouj
Sub 구분행_삽입()
Dim i As Integer
Dim icount As Integer
Dim irow As Integer
' 행 삽입
irow = ActiveSheet.Range("c1").CurrentRegion.Rows.Count '전체 행 수
For i = irow To 2 Step -1
If Cells(i, 3) <> Cells(i - 1, 3) Then '직전행과 데이타가 다르면
Rows(i).Insert '행 삽입
End If
Next i
' 일련번호
icount = 1
ActiveSheet.UsedRange.Select '빈 행 포함한 전체 행 수
For i = 2 To Selection.Rows.Count
If Application.CountA(Rows(i - 1)) = 0 Then '직전행이 빈 행이면
Cells(i, 1) = icount 'A열에 일련번호 기입
icount = icount + 1
End If
Next i
' 정리
Rows(2).Delete '2행 삭제
End Sub
감상/의견 : 행 삽입은 For i=n To 1 Step -1 의 (역순)기법을 쓰지 않으면 안될 겁니다. 근데 일련번호는 반대이지요. 그래서 for next를 한 번만 쓰고는 힘들더군요. 2행에 일련번호 1을 별도 코드 없이 넣기 위해 2행 직전까지 행을 삽입, 나중에 지우는 방식을 사용했습니다. 저도 배우는 처지라...더 간단히 될지도 모르겠네요.
(2008.03.25)
'Skills > Excel VBA' 카테고리의 다른 글
VBA 문자열 변동 또는 합계에 따라 행 삽입/일련 번호 (0) | 2008.11.13 |
---|---|
VBA 문자열 변동 또는 합계에 따라 행 삽입/일련 번호 (0) | 2008.11.13 |
화일명 자동 참조하여 데이터 가져오기 (0) | 2008.11.13 |
카운터 로직 (0) | 2008.11.13 |
합산 조합 구하기 (0) | 2008.11.13 |