728x90
< 목차 >

1. 끝으로 이동하기

2. 끝까지 선택하기

 

많은 데이터가 있는 표를 위에서 작업하다 보면 처음과 마지막으로 이동할 일이 많습니다.

엑셀에서는 그럴 때 사용하도록 Ctrl + 방향키(←,→,↑,↓)를 눌러서 끝에서 끝까지 이동할 수 있습니다.

무슨 게임하는 것 같아서 처음에는 익숙해지지 않았을 때는 마우스에 많이 의존하지만,

일단 적응되면 손에서 놓을 수가 없습니다.

 

 

1. 끝으로 이동하기

 

Ctrl + 방향키로 움직이기

 

VBA에서도 이 기능을 수행하는 명령어가 있습니다.

 

  • xlDown : 시작 위치에서 아래방향으로 데이터가 끝나는 셀로 바로 이동합니다. 
  • xlUp  : 시작 위치에서 위 방향으로 데이터가 끝나는 셀로 바로 이동합니다. 
  • xltoRight : 시작 위치에서 오른쪽 방향으로 데이터가 끝나는 셀로 바로 이동합니다. 
  • xltoLeft  : 시작 위치에서 왼쪽 방향으로 데이터가 끝나는 셀로 바로 이동합니다. 
  • 시작 위치가 데이터가 없는 빈 셀일 경우에는 반대로 처음 데이터가 있는 셀로 이동합니다.
  • 빈 셀인 경우 그 방향에 데이터가 하나도 없으면 끝까지 이동합니다.

사용하는 방법은 아래와 같습니다.

간단함으로 모두 묶어서 하나의 소스에 담아서 설명하겠습니다.

 

Sub MoveCell()

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ws.Range("B28").End(xlDown).Select '아래 방향으로
    ws.Range("B28").End(xlUp).Select '위 방향으로
    ws.Range("B28").End(xltoRight).Select '오른쪽 방향
    ws.Range("B28").End(xltoLeft).Select '왼쪽 방향으로

End Sub

 

 

보시면 이해될 것이라고 생각합니다.

셀 B28 에서 아래, 위, 오른쪽, 왼쪽으로 이동하는 소스입니다.

 

 

2. 끝까지 선택하기

 

위에 처럼 이동하는 것으로도 편리하지만 전체 선택하기라는 편리한 기능도 있습니다.

일반 엑셀 인터페이스에서는 Ctrl + Shift + 방향키(←,→,↑,↓) 입니다.

이 기능을 수행하는 코드도 설명 드리겠습니다.

 

범위 선택하기

 

소스로 따지면 약간 길어지는 합니다.

하지만 어렵지는 않으니 사용해 보면 바로 알 수 있을 것 같습니다.

 

Sub SelectRange()

    Dim ws As Worksheet
    Dim dataRange As Range
    
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' A1부터 아래 방향으로 데이터가 있는 마지막 셀까지 범위 선택
    Set dataRange = ws.Range("A1", ws.Range("A1").End(xlDown))
    dataRange.Select

    ' A1부터 오른쪽 방향으로 데이터가 있는 마지막 셀까지 범위 선택
    Set dataRange = ws.Range("A1", ws.Range("A1").End(xlToRight))
    dataRange.Select

    ' A1에서 시작해 데이터가 있는 끝까지 범위를 설정
    Set dataRange = ws.Range("A1", ws.Range("A1").End(xlToRight).End(xlDown))
    dataRange.Select
    
End Sub

 

 

굉장히 자주 사용하는 코드로 사용자가 입력해서 계속 길어지는 엑셀에 VBA를 적용할 때 사용하기도 합니다.

잘 사용하면 순환문 하나 정도 뺄 수도 있게 만드는 편리한 코드입니다.

저도 이렇게 포스팅 해놓고 수시로 보러고 작성하는 것이랍니다.

보시는 분께도 참고가 되었으면 좋겠습니다.

 

320x100

 

반응형

+ Recent posts