이 글에서는 Excel에서 VBA를 사용하여 특정 셀이나 셀 범위를 선택하는 방법을 소개합니다. 단일 셀 선택부터 여러 셀로 구성된 범위 선택, 이름 정의된 범위(Named Range) 활용, 그리고 다른 셀을 기준으로 한 상대적 위치의 셀 선택까지, 실무에 유용한 6가지 방법을 코드 예제와 함께 자세히 살펴보겠습니다.
Excel에서 VBA로 셀을 선택하는 6가지 유용한 방법
지금부터 VBA로 셀 또는 셀 범위를 선택하는 가장 실용적인 6가지 방법을 하나씩 알아보겠습니다.
1. VBA로 활성 워크시트의 셀 선택하기
먼저, 현재 활성화되어 있는 워크시트에서 셀을 선택하는 방법입니다.
예를 들어 Workbook1이라는 통합 문서 안에 Sheet1, Sheet2, Sheet3라는 세 개의 워크시트가 있고, 현재 활성 워크시트는 Sheet1이라고 가정해 보겠습니다.
활성 워크시트의 임의의 셀(여기서는 C5)을 선택하려면 아래 코드 중 하나를 사용하면 됩니다:
⧭ VBA 코드:
ActiveSheet.Range("C5").Select또는
ActiveSheet.Cells(5,3).Select
⧭ 실행 결과:
코드를 실행하면 Workbook1의 활성 워크시트인 Sheet1에서 C5 셀이 선택됩니다.

2. 활성 통합 문서 내 다른 워크시트의 셀 선택하기
이번에는 같은 통합 문서 안에서 활성 워크시트가 아닌 다른 시트의 셀을 선택하는 방법입니다. 활성 워크시트는 Sheet1이지만, 이번에는 Sheet2의 C5 셀을 선택해 보겠습니다.
아래 코드 중 원하는 방식을 사용할 수 있습니다:
⧭ VBA 코드:
Application.Goto Sheets("Sheet2").Range("C5")또는
Application.Goto Sheets("Sheet2").Cells(5,3)또는
Sheets("Sheet2").Activate
Range("C5").Select

⧭ 실행 결과:
코드를 실행하면 활성 통합 문서인 Workbook1의 Sheet2에 있는 C5 셀이 선택됩니다.

3. 활성 통합 문서 외부 파일의 셀 선택하기
이번에는 현재 열려 있는 통합 문서가 아닌 다른 통합 문서의 셀을 선택하는 방법입니다.
활성 통합 문서는 Workbook1이고, 동일한 폴더에 Workbook2라는 다른 통합 문서가 있다고 가정합니다.
Workbook2의 Sheet1에서 C5 셀을 선택해 보겠습니다.
VBA 코드는 다음과 같습니다:
⧭ VBA 코드:
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet1").Range("C5")또는
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet1").Cells(5,3)또는
Workbooks("Workbook2.xlsx").Activate
Sheets("Sheet1").Select

⧭ 실행 결과:
코드를 실행하면 Workbook2의 Sheet1에 있는 C5 셀이 선택됩니다.

4. VBA로 셀 범위 선택하기
지금까지는 단일 셀만 선택했습니다. 이번에는 여러 셀로 구성된 범위(예: B4:C13)를 선택하는 방법입니다.
범위가 활성 워크시트에 있는 경우 다음 코드를 사용합니다:
⧭ VBA 코드:
Range("B4:C13").Select
⧭ 실행 결과:
Workbook1의 활성 워크시트 Sheet1에서 B4:C13 범위가 선택됩니다.

범위가 활성 통합 문서의 다른 워크시트(여기서는 Sheet2)에 있는 경우는 다음 코드를 사용합니다:
⧭ VBA 코드:
Application.Goto Sheets("Sheet2").Range("B4:C13")
⧭ 실행 결과:
활성 통합 문서 Workbook1의 Sheet2에서 B4:C13 범위가 선택됩니다.

그리고 활성 통합 문서가 아닌 다른 통합 문서(여기서는 Workbook2)에서 범위를 선택하려면 아래 코드를 사용합니다:
⧭ VBA 코드:
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet2").Range("B4:C13")
⧭ 실행 결과:
Workbook2의 Sheet1에서 B4:C13 범위가 선택됩니다.

5. 이름 정의된 범위(Named Range)의 셀 선택하기
VBA를 사용하면 이름 정의된 범위(Named Range)에 포함된 셀도 손쉽게 선택할 수 있습니다.
예를 들어 활성 시트인 Workbook1의 Sheet1에 B4:C13 범위로 정의된 ABC라는 이름의 범위가 있다고 가정해 보겠습니다.
이름 정의된 범위 ABC를 선택하려면 다음 코드를 사용합니다:
⧭ VBA 코드:
Range("ABC").Select
⧭ 실행 결과:
Workbook1의 Sheet1에서 이름 정의된 범위(B4:C13)가 선택됩니다.

6. 다른 셀을 기준으로 한 상대 위치의 셀 선택하기
마지막으로, 특정 셀을 기준으로 상대적인 위치에 있는 셀을 선택하는 방법입니다.
이때 VBA의 Offset 속성을 활용합니다.
예를 들어, 활성 워크시트 Sheet1(Workbook1 내)에서 C5 셀로부터 2행 아래, 3열 오른쪽에 있는 셀을 선택해 보겠습니다.
다음 코드를 사용합니다:
⧭ VBA 코드:
Range("C5").Offset(2, 3).Select또는
Cells(5,3).Offset(2, 3).Select⧭ 실행 결과:
C5 셀에서 2행 아래, 3열 오른쪽에 있는 F7 셀이 선택됩니다.

마무리
지금까지 소개한 방법들을 활용하면 Excel에서 VBA로 원하는 셀이나 셀 범위를 상황에 맞게 자유롭게 선택할 수 있습니다. 궁금한 점이 있다면 언제든지 댓글로 문의해 주세요.
함께 읽으면 좋은 글
- VBA로 열(Columns)을 선택하는 3가지 방법