EXCEL VBA

엑셀 VBA 셀 범위 선택하기, VBA resize와 VBA offset 활용

카루루1007 2020. 11. 22. 14:51
728x90
반응형
SMALL

<1번>

Sub Select_Cells_Range()


    Range("b3:e11").Select


End Sub

 

<2번>

Sub Select_Cells_Range()

 

    Range("B3", Cells(Rows.Count, "E").End(xlUp)).Select

 

End Sub

 

≫ 이 경우 [ E11셀 ]이 빈셀일 경우 원하는 결과나 나오지 않을 수 있음.

 

<3번>

Sub Select_Cells_Range()

 

    Range("B3", Cells(Rows.Count, "D").End(xlUp).Offset(, 1)).Select

 

End Sub

 

≫ 이 경우 [ D11셀 ] 선택 후 offset를 이용하여 우측으로 한 칸 이동후 선택

반응형

<4번>

Sub Select_Cells_Range()

 

    Range("B2").CurrentRegion.Select

 

End Sub

 

≫ 엑셀에서 데이터를 선택하고 [ Ctrl + A ] 한 것과 동일한 효과

 

<5번>

Sub Select_Cells_Range()

 

    Worksheets(1).UsedRange.Select

 

End Sub

 

≫ 첫 번째 워크시트에 데이터가 있는 모든 영역 선택, 단순 지우기로 값이 없어졌어도 선택이 된다.

 

 

<<< resize 사용 >>>

 

기준.resize(행, 열) : 기준으로부터 행과 열만큼 영역을 재설정하라

 

 

<1번>

 

Sub Select_Cells_Range()

 

    Dim rng As Range

 

    Set rng = Range("b3").CurrentRegion

 

    rng.Resize(2, 3).Select

 

End Sub

 

 

 

< 2번 > 

 

Sub Select_Cells_Range()

 

    Dim rng As Range

 

    Set rng = Range("b3").CurrentRegion

 

    rng.Resize(, 3).Select

 

End Sub

 

 

rng.Resize(, 3).Select는 풀어서 작성하면 다음과 같다.

 

[ rng.Resize(rng.rows.count, 3).select ]

 

 

< 3번 > : 범위를 유동적으로 잡는 방법

 

Sub Select_Cells_Range()

 

    Dim rng As Range

    Dim i As Long

 

    Set rng = Range("b3").CurrentRegion

 

    i = Cells(2, Columns.Count).End(xlToLeft).Column - 1

    ' 2열의 마지막 행선택 후 [ Ctrl + ← ] 키를 눌러서 선택된 셀의 열 번호에서 - 1 한 열번호 반환

    rng.Offset(1).Resize(rng.Rows.Count - 1, i).Select

 

End Sub

 

 

 

728x90
반응형
LIST