VBA Macro

[엑셀] 자주 사용하는/유용한 VBA 코드 정리

루아흐뉴마 2017. 10. 27. 02:09
반응형
## 자주 사용하는 VBA 코드 정리


VBA Code
Sub useful_code()

last_cell_num = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row
'마지막 셀의 행번호 찾기
'A 열 중간에 행이 비어 있어도 가장 마지막 행번호를 찾는다.
'워크시트의 A 열 가장 아래쪽 끝에서 Ctrl + ↑를 한 것과 동일하다.

Set myRng = Sheets("Sheet1").Cells(1,"A").CurrentRegion
'myRng를 A1 셀과 인접한 비어있지 않은 모든 셀의 Range 객체로 반환한다.
'A1 셀에서 Ctrl + A를 실행한 것과 동일하다.

Dim OneArray(10)
Dim MyArray(1 To 10, 5 To 15, 10 To 20)     ' 배열 변수 선언
Lbound(MyArray, 1) '1 반환 -> 1차원의 가장 낮은 배열 번호 (하한)
Lbound(MyArray, 3) '10 반환 -> 3차원의 가장 낮은 배열 번호
Lbound(OneArray) 'option base 설정에 따라 0이나 1 반환
Ubound(MyArray, 1) '10 반환 -> 1차원의 가장 높은 배열 번호 (상한)
Ubound(OneArray) '10 반환
'오류 없이 배열 끝을 찾을 수 있음.


Sheets("Sheet1").Copy After:=Sheets(1)
'Sheet1을 복사하여 가장 첫번째 워크시트 다음에 위치시킨다.
Sheets("Sheet1").Copy Before:=Sheets(1)
'Sheet1을 복사하여 가장 첫번째 워크시트 앞단에 위치시킨다.
Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
'Sheet1을 복사하여 맨 뒤로 보낸다. [맨 뒤의 시트를 잡아내는 코드 Sheets(Sheets.Count)]


Application.DisplayAlerts = False '모든 대화창을 끄는 코드(강제적인 액션이 필요한 경우에)
Application.Calculation = xlCalculationManual  '코드가 실행되는 동안 계산을 방지한다. 특히 함수를 사용하는 셀이 많은 시트의 경우 유용함.
Application.ScreenUpdating = False '코드가 실행되는 동안 화면 업데이트 방지

End Sub


반응형

'VBA Macro' 카테고리의 다른 글

[VBA] Early Binding Vs. Late Binding  (0) 2018.05.07