이전 글
오늘은 값이 있는 셀의 끝열 혹은 끝행을 자동으로 인식하는 법에 대해 알아보겠습니다.
그럼 먼저 A1:A20에 1부터100까지의 랜덤한 수를 생성 했습니다.
그럼 여기서 값이 50을 넘어가는 셀의 색이 변하게 만드는 For문을 만들어 봅시다.
Sub test()
Dim i As Long
For i = 1 To 20
If Cells(i, 1) > 50 Then
Cells(i, 1).Interior.ColorIndex = 3
End If
Next
End Sub
이렇게 쓰면 1 부터 20까지 i가 반복하면서
이렇게 됩니다. 그런데 여기서 문제점이 A20 밑으로 다른 값이 들어와도 그 값에 대해서는 인식을 못한다는 것이죠
이렇게 20열 까지만 인식하고 그 밑으로는 인식하지 못함니다.
그래서 i의 끝수를 30으로 늘려주면 되지만
이번에는 그렇게하지 말고 자동으로 값이 있는 셀의 끝을 찾아서 동작하게 해봅시다.
endrow = Range("a1048576").End(xlUp).Row
이것을 이용할건데 해석해 보자면 A1048576셀에서 부터 올라오면서 값이 있는 첫번째 셀을 찾아라 라는 것입니다.
A1048576셀이 A열의 마지막 행이죠 굳이 이렇게 적지 않고 대충 큰 숫자를 적어주면 됩니다.
그럼 이것을 이용해서 코드를 다시작성하면
Sub test()
Dim i As Long
Dim endrow As Long
endrow = Range("a1048576").End(xlUp).Row
For i = 1 To endrow
If Cells(i, 1) > 50 Then
Cells(i, 1).Interior.ColorIndex = 3
End If
Next
End Sub
잘 적용된 것을 볼 수 있습니다.
End(xlUp).Row 대신 End(xlToLeft).Column을 이용해 열의 끝을 찾을 수 있습니다.
그럼 다음시간에는 VBA로 복사, 붙여넣기 하는 법에 대해 알아보도록 하죠 그럼 이만
반응형
'엑셀 > VBA' 카테고리의 다른 글
[엑셀]VBA로 체크박스 자동으로 연결하기 (5) | 2020.10.05 |
---|---|
[엑셀]VBA입문(7)-복사, 붙여넣기 (0) | 2020.09.17 |
[엑셀]VBA입문(5)-조건문IF (0) | 2020.09.09 |
[엑셀]VBA입문(4)-반복문2 (0) | 2020.09.08 |
[엑셀]VBA입문(3)-반복문 (0) | 2020.09.08 |