Jasper Excel
article thumbnail

VBA 기초 네 번째 포스팅입니다. Offset 속성에 대해서 알아보겠습니다. Offset 속성은 동적으로 셀의 위치를 찾거나 할 때 자주 사용되는 속성 중 하나입니다.

실제 코드를 활용하여 Offset 코드는 어떻게 사용이 되는지 예제들과 함께 알아보겠습니다.

 

VBA Offset 속성 알아보기

 

 

 

 

Offset 이해하기

Offset 함수를 아시는 분이면 빠른 이해를 할 수 있습니다.

 

기준셀을 기준으로 좌 우 상 하로 움직이는 함수인데요, VBA에서도 똑같은 역할을 합니다.

 

OFFSET에는 2개의 인수가 있습니다. 

Offset(RowOffset, ColumnOffset) 이 됩니다.

 

Offet 인수 알아보기

 

RowOffset 인수는 행의 위치를 위아래로 움직일 숫자를 입력할 수 있습니다

 

음수 값은 위로, 양수 값은 아래로 움직일 수 있습니다.

 

ColumnOffset 인수는 열의 위치를 좌 우로 움직일 숫자를 입력할 수 있습니다.

 

음수 값은 좌로 , 양수 값은 우로 움직일 수 있습니다.

 

예를 들면

 

Offset(1,2)를 쓰게 되면

 

기준셀에서 아래로 1칸, 오른쪽으로 2칸을 이동합니다.

 

Range("A1").Offset(1, 2).Select

 

 

Range("A1"). Offset(1, 2). Select

 

A1셀을 기준으로 아래로 한 칸 오른쪽으로 두 칸 이동해서 셀을 선택하라라고 코드를 입력했습니다.

 

offset 쉽게 이해하기

 

 

조금 더 이해를 돕기 위해 이미지로 표현했습니다.

A1셀을 기준으로 1칸 아래로 2칸 오른쪽으로 이동하게끔 작동을 합니다.

 

 

✌ Offset 인수 내에 기준셀의 위치를 놓고 싶으면 0을 입력하면 됩니다.

 

참고로 Offset 내에서 0은 생략이 가능합니다.

 

예)

Range("B1"). offset(2,). select

를 입력하면

 

B3셀을 선택하게 됩니다.

 

 

VBA 기초 알아보기

 

Offset 활용하기

End(xlup)을 활용해서 열의 마지막 행을 찾은 다음 아래 행을 선택하는 수식을 알아보겠습니다. 

offset 속성활용하기

End속성

 

    Cells(Rows.Count, "A"). End(xlUp). Offset(1, 0). Select

 

A열의 행 개수를 센 다음 위로 올라옵니다.

그다음 Offset으로 1행을 내려와서 셀 선택을 하는 코드입니다.

 

이 코드는 데이터를 누적할 때 너무나도 많이 사용되는 코드입니다.

 

예상되시죠?

 

 

 

 

offset 활용하기

 

 

    Dim ab As Range
    
    For Each ab In Range("A1:B19")
        If ab <= 300 Then
            Cells(Rows.Count, "I"). End(xlUp). Offset(1, 0). Value = ab
        End If
        
    Next

 

AB열을 범위로 선언하고

 

For Each 반복문으로

 

AB 범위 내에서  300보다 작거나 같은 값을 I열에 위로 마지막행 아래 행에 데이터가 누적되게끔 하는 방법입니다.

 

 

도움 되셨으면 좋아요 와 댓글 감사합니다 ❤

 

포스팅에 사용된 파일 공유합니다.

비밀번호는 댓글 주시면 공유합니다 :)

데이터 누적 VBA3.zip
0.01MB

 

 

 

 

 

 

profile

Jasper Excel

@Jasper's Excel

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!