중간 중간의 셀이 빈 공백으로 되어 있는 경우 끝까지 번호를 매기려면 마우스로 Drag 하여 죽 끌고가거나 약간의 편법을 써야 하는 불편함이 있다.
이짓도 하다보니 좀 귀찮아서 간단하게 VBA 로
For Each Next 구문을 이용하여 만들었다.
rngC 는 반복하는 셀이고, rngC.Offset(0,2) 는 현재셀로부터 Offset(행,열) 즉, 행과 열만큼 이동하라는 의미다.
Offset(0,2) 는 행은 이동하지 말고, 열만 오른쪽으로 두번 이동하라는 의미이므로
rngC 셀이 A열에서 변동되므로 기록될 값은 C열에 기록된다.
Sub 번호매기기()
Dim rngC As Range
Dim i As Long
For Each rngC In Range([A2], Cells(Rows.Count, "A").End(3))
i = i + 1
rngC.Offset(0, 2) = i
Next rngC
End Sub
여기서 한가지 더 알아두면 좋은 사항은
rngC.Offset(0,2) 라는 것이 얼른 눈에 들어오지 않을 수도 있다.
이럴 경우에는 Cells(rngC.Row, "F") 와 같은 식으로 바꿔서 쓸수도 있다.
F열에 값을 기록한다는 것이므로 눈에 쉽게 들어온다.
하다보니 이것도 귀찮아서 더 편한 방법을 찾아서 적어둔다.
Sub 번호매기기()
Dim rngC As Range
Dim i As Long
Dim sRow As Long
Dim Col As String
sRow = 2 '// 시작할 행
Col = "A" '// 지정할 열
For Each rngC In Range(Cells(sRow, Col), Cells(Rows.Count, Col).End(3))
i = i + 1
Cells(rngC.Row, "O") = i
Next rngC
End Sub
'업무 능력 향상 > 엑셀 VBA 입문' 카테고리의 다른 글
[VBA입문] 엑셀 2010에서 개발도구 탭 표시하기 (0) | 2015.05.20 |
---|---|
[VBA입문] 버그를 줄이고 Debugging(디버깅) 하는 방법 (0) | 2015.04.21 |
VBA 편집기 사용법 (0) | 2015.03.13 |
[VBA기초] DO LOOP 구문 (1) | 2014.01.10 |
[VBA기초] For Each ~ Next 구문 (0) | 2014.01.06 |