엑셀 VBA 매크로기록 으로 작성된 코딩을 단축 해 보기
엑셀 VBA (Excel VBA)2020. 5. 19. 22:52
매크로기록을 하게 되면 선택하는(마우스 클릭 등) 모든 대상이 불필요하게 select / selection 으로 잡히게 됩니다.
작업대상을 바로 지정할수 있다는 것을 알고 계시면 지금보다 코딩하기가 보다 수월해지실겁니다.
1. 작업대상을 선택
2. 선택한 대상을 작업
위처럼 두 단계가 아닌
1. 대상에 대한 작업
이 되게끔 코딩하시면 됩니다.
예를들어 매크로기록으로 차트안의 특정영역을 변경시
ActiveChart.PlotArea.Select
Selection.Top = 0.21
Selection.Height = 210
위와 같이 코드가 쓰여지게 됩니다.
따라서 위 차트 예시의 경우 불필요하게 쓰여진 select / selection 제거하여 다음처럼 코딩을 해 볼수 있습니다.
'▼다음과 같이 단축할수 있죠
ActiveChart.PlotArea.Top = 0.21
ActiveChart.PlotArea.Height = 210
'▼with를 사용하여 이렇게도 쓸수 있습니다.
With ActiveChart.PlotArea
.Top = 0.21
.Height = 210
End With
'▼개체변수를 선언하여 변수를 이용하여 작업하셔도 되구요
Dim pArea As PlotArea
Set pArea = ActiveChart.PlotArea
With pArea
.Top = 0.21
.Height = 210
End With
'▼해당 차트의 이름을 이용하여 활성화된 차트가아닌 특정 차트를 바로 접근하여 작업하셔도 됩니다.
Dim pArea As PlotArea
Set pArea = Sheet1.ChartObjects("차트 1").Chart.PlotArea
With pArea
.Top = 0.21
.Height = 210
End With
'엑셀 VBA (Excel VBA)' 카테고리의 다른 글
엑셀 VBA 특정범위 제외 하고 영역 복사하기 특정범위 복구하기 (0) | 2020.10.14 |
---|---|
엑셀 VBA 배열 에러 null 값 변환 치환('13' 런타임 오류가 발생하였습니다 : 형식이 일치하지 않습니다) (0) | 2020.09.03 |
엑셀 vba 포함 문자 바꾸기/지우기 (0) | 2020.05.12 |
엑셀 vba find 함수 응용 특정 행 지우기 (0) | 2020.05.08 |
엑셀 vba 텍스트박스(TextBox) 클릭 시 텍스트 전체 선택 (0) | 2020.04.27 |