반응형
## 자주 사용하는 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 |
---|