준이로그

매크로기록을 하게 되면 선택하는(마우스 클릭 등) 모든 대상이 불필요하게 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