[ 들어가며 ]
Cells() 속성을 사용하여 특정 셀을 참조하거나 범위를 참조할 수 있습니다.
Cells() 속성을 사용하면
행 번호와 열 번호로 특정 셀이나 범위의 참조가 가능하기 때문에
반복문 등을 활용하기에
더욱 수월합니다.
또한 Range()와 Cells() 속성을
같이 활용하는 간단한 방법도 알아보겠습니다.
Range() 속성을 사용하는 방법은 아래 링크를 참고하시면 됩니다.
Range() 속성 사용하는 방법
[ 현재 워크 시트의 모든 셀 선택 ]
먼저 현재 워크 시트의 모든 셀을 선택하는 방법입니다.
ub Cells_Sample()
Cells().Select
End Sub
단순히 Cells().Select를 수행하면
현재 시트의 모든 셀이 선택이 됩니다.
[ 하나의 셀 선택하기 ]
하나의 셀을 선택하는 방법은
두 가지가 있습니다.
먼저 행과 열의 번호를 사용해
특정 셀을 선택할 수 있습니다.
Sub Cells_Sample()
Cells(2, 3).Select
End Sub
위 코드를 실행하면 C2셀이 선택이 됩니다.
두 번째 방법은
행은 번호를 사용하고
열은 알파벳을 사용하는 방법입니다.
Sub Cells_Sample()
Cells(2, "C").Select
End Sub
위 코드를 실행하면
앞선 방식과 동일하게 C2셀이 선택이 됩니다.
[ 특정 범위 선택하기 ]
Range()와 결합하여 사용하면
특정 범위를 선택할 수 있습니다.
Sub Cells_Sample()
Range(Cells(1, 1), Cells(5, 5)).Select
End Sub
위 코드를 실행하면
A1셀부터 E5셀까지의 범위가 선택이 됩니다.
위 코드를 보시면 아시겠지만
Cells() 속성은 기본적으로 하나의 셀을 선택할 때 사용합니다.
Range()와 결합하여 사용하면
특정 범위를 행 번호와 열 번호로 지정이 가능합니다.
[ 지정된 범위의 모든 셀 선택하기 ]
지정된 범위의 모든 셀 선택도 가능합니다.
예를 들어 Range()로 B1셀부터 H5셀을 선택했을 때
Cells() 속성을 같이 사용하면
해당 범위를 모두 선택할 수 있습니다.
Sub Cells_Sample()
Range("B1:H5").Cells().Select
End Sub
아래 코드를 사용해도
위 코드와 결과는 동일합니다.
Sub Cells_Sample()
Range("B1:H5").Select
End Sub
[ 지정된 범위 안에서 특정 위치의 셀 선택하기 ]
B1셀부터 H5셀의 범위를 선택하면
첫 셀은 B1셀이 됩니다.
이 첫 번째 셀인 B1에서
아래로 2번째, 우측으로 3번째 셀인
D2셀을 선택하기 위해서
아래와 같이 코드를 작성할 수 있습니다.
이렇게 특정 범위 안의 특정 위치의 셀을 선택할 때
첫 번째 셀인 B1셀을 포함하여
세어야 한다는 점을 알아야 합니다.
Sub Cells_Sample()
Range("B1:H5").Cells(2, 3).Select
End Sub
위 코드를 실행하면
B1셀에서 아래로 2번째, 우측으로 3번째인
D2셀이 선택이 됩니다.
주의해야 할 점이 있습니다.
B1셀부터 H5셀의 범위를 넘어서는 셀을 선택해도
VBA는 오류를 발생하지 않고
해당 셀을 선택합니다.
Sub Cells_Sample()
Range("B1:H5").Cells(2, 30).Select
End Sub
위 코드를 실행하면 오류 없이 실행이 되고
AE2셀이 선택이 됩니다.
결과적으로는 아래 코드와 동일한 결과를 보여줍니다.
Sub Cells_Sample()
Range("B1").Cells(2, 30).Select
End Sub
[ 지정된 범위 안에서 특정 순번의 셀 선택하기 ]
지정된 범위의 특정 순번의 셀을 선택할 수도 있습니다.
셀의 순서는 현재 위치를 기준으로
좌측에서 우측으로
위에서 아래로 순번을 갖습니다.
B1셀부터 H5셀까지의 범위 내에 있는 셀은
아래 그림과 같은 순번을 갖습니다.
만약 해당 범위의 셀에서 35번째 셀을 선택하고 싶다면
아래와 같이 코드를 작성하면 됩니다.
Sub Cells_Sample()
Range("B1:H5").Cells(35).Select
End Sub
여기서도 같은 문제는 발생합니다.
36번째 셀을 선택해도 오류없이 선택이 됩니다.
Sub Cells_Sample()
Range("B1:H5").Cells(36).Select
End Sub
다만 여기서는 순번을 셀 때
행의 범위는 벗어나나,
열의 범위는 벗어나지 않는 것을 확인할 수 있습니다.
43번째 셀을 선택하면
B7셀이 선택이 됩니다.
Sub Cells_Sample()
Range("B1:H5").Cells(43).Select
End Sub
여기를 방문하시면 더 많은 엑셀 관련 자료를 확인할 수 있습니다.
'EXCEL VBA' 카테고리의 다른 글
엑셀 VBA 형식을 지정하는 Format 함수(숫자 형식 지정) (0) | 2024.08.06 |
---|---|
엑셀 VBA 엑셀 파일을 열 때마다 첫 번째 시트가 선택되게 만들기 (0) | 2024.08.05 |
엑셀 VBA Range()로 하나의 셀 또는 범위 선택하는 여러가지 방법 (0) | 2024.08.04 |
엑셀 VBA의 배열 대신 Collection 세번째(시트 데이터 읽기, 불러오기) (0) | 2024.02.16 |
엑셀 VBA에서 시트에 접근하는 두가지 방법(시트이름, 코드네임) (0) | 2024.02.15 |