Excel VBA 기초

Excel VBA - 다중 Cell 범위 지정하기

kwangpal 2023. 11. 19. 15:33
반응형

Range

다중 Cell 범위를 지정하는 방법은 단일 Cell을 지정하는 것과 비슷하다.

 

Range를 이용해서 단일 Cell을 지정할 때는

Range("A1") 처럼 " " 안에 하나의 Cell 주소를 입력하면 되었는데

 

다중 Cell 범위를 지정할 때는

Range("A1:B3") 처럼 " " 안에 처음 Cell과 마지막 Cell의 주소를 입력하고

중간에 : (colon)을 넣어야 한다.

 

범위는 왼쪽 위와 오른쪽 아래 끝 Cell의 주소다.

 

다음과 같이 코드를 입력한 후 실행버튼을 클릭하면

 

Sub Botton_Click()

    Range("A1:B3") = 5
    
End Sub

 

A1에서 B3까지 범위에 숫자 5가 입력된다.

 

지정한 다중 Cell 범위에 숫자 입력

 

 

다음과 같이 Range("Cell 주소", "Cell 주소") 로 입력해도 된다.

" " 를 두번 쓰고, 중간에 , (comma)가 있다.

 

Sub Botton_Click()

    Range("A1", "B2") = 1
    
End Sub

 

 

 

중간에 : (colon) 대신 , (comma)를 입력하면

 

Sub Botton_Click()

    Range("A1,B2,C3") = 77
    
End Sub

 

다음과 같이 범위가 아닌 각각의 Cell을 지정하게 된다.

 

 

 

조금 바꿔서 다음과 같이 입력하면

 

Sub Botton_Click()

    Range("A1, B2:C3") = 66
    
End Sub

 

단일 Cell과 범위를 한번에 지정할 수도 있다.

 

 

 

Cells

Cells를 이용할 수도 있다.

그런데 Range와 같이 써야한다.

 

Range(Cells(행, 열), Cells(행, 열))

이런 식이다.

중간에 : (colon)이 아니라 , (comma)가 들어가는 것에 유의하자.

 

Sub Botton_Click()

    Range(Cells(1, 1), Cells(2, 3)) = 4
    
End Sub

 

위 코드는 1번째 행, 1번째 열부터

2번째 행, 3번째 열까지

4를 입력하라는 것이다.

 

열, 행 순서로 입력하는 Range와 다르게

Cells는 행, 열 순서로 입력하므로 주의해야 한다.

 

지정한 다중 Cell 범위에 숫자 입력

 

Range 대신 Cells를 사용하면 편리한 점은

단일 Cell 지정하기에서 설명했듯

열을 변경할 때 숫자만 바꾸면 쉽게 지정할 수 있다는 것이다.

행을 변경하는 것도 조금 더 편하다.

 

다음과 같이 Range 안에 Range와 Cells를 같이 써도 된다.

 

Sub Botton_Click()

    Range(Range("A1"), Cells(4, 3)) = 7
    
End Sub

 

Range 안에 Range와 Cells를 혼용한 결과

 

 

다음과 같이 Range 안에 Cells와 [ ] 를 같이 써도 된다.

 

Sub Botton_Click()

    Range(Cells(1, 1), [C3]) = 9
    
End Sub

 

Range 안에 Cells와 [ ] 를 혼용한 결과

 

 

Range와 다르게

Cells(Cells(1,1), Cell(2,3)) 처럼 입력하면 안된다.

 

 

그 외의 방법

Range 대신 [ ] 를 사용하는 방법이 있다.

[Cell 주소:Cell 주소] 를 입력하면 된다.

Range와 다르게 " " 는 필요없다.

 

Sub Botton_Click()

    [A1:B5] = 2
    
End Sub

 

[ ] 를 사용하여 다중 Cell 범위 지정 결과

 

 

다음처럼 Range와 같이 사용할 수도 있다.

중간에 : (colon)대신 , (comma)가 들어간다.

 

Sub Botton_Click()

    Range([A1], [B3]) = 7
    
End Sub

 

 

 

[Cell주소, Cell 주소] 처럼

중간에 : (colon)대신 , (comma)가 들어가면 

다른 결과가 나타난다.

 

Sub Botton_Click()

    [A1, B3] = "가"
    
End Sub

 

 

연결된 범위가 아닌

각각의 Cell을 지정하게 된다.

 

이 방법에서 Cell 주소를 하나 더 입력하면

 

Sub Botton_Click()

    [A1, B3, D5] = "나"
    
End Sub

 

이렇게 된다.

 

 

 

조금 바꿔서 다음과 같이 입력하면

 

Sub Botton_Click()

    [A1, B3:D5] = "다"
    
End Sub

 

단일 Cell과 범위를 한번에 지정할 수도 있다.

 

 

 

반응형