Sub 매크로1()
'
' 매크로1 매크로
'
' 바로 가기 키: Ctrl+Shift+M
'
'영역 지정 변수
Dim Range1 As Range
Dim Range2 As Range
'오류 xlup, down 에러 방지
Const xlUp As Long = -4162
Const xlDown As Long = -4121
'초기 데이터 설정
Set Range1 = ThisWorkbook.Worksheets(1).Cells(5, 4)
Set Range2 = ThisWorkbook.Worksheets(1).Cells(5, 5).End(xlDown)
With ActiveChart
ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmoothNoMarkers).Select
ActiveChart.SetSourceData Source:=Range(Range1, Range2)
'데이터 선택 영역 변수
Dim RangeX1 As Range
Dim RangeX2 As Range
Dim RangeY1 As Range
Dim RangeY2 As Range
Dim a As Integer
a = 2
Do
'데이터 지정
Set RangeX1 = ThisWorkbook.Worksheets(1).Cells(5, 4 + ((a - 1) * 5))
Set RangeX2 = ThisWorkbook.Worksheets(1).Cells(5, 4 + ((a - 1) * 5)).End(xlDown)
Set RangeY1 = ThisWorkbook.Worksheets(1).Cells(5, 5 + ((a - 1) * 5))
Set RangeY2 = ThisWorkbook.Worksheets(1).Cells(5, 5 + ((a - 1) * 5)).End(xlDown)
If IsEmpty(RangeY1) Then
Exit Do '탈출
End If
'그래프 그리기
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(a).XValues = Range(RangeX1, RangeX2)
ActiveChart.FullSeriesCollection(a).Values = Range(RangeY1, RangeY2)
a = a + 1
Loop
End With
End Sub
좀 더 간결하게 가능
'기타 참고 자료 > Excel' 카테고리의 다른 글
엑셀 R1C1 참조 스타일 (0) | 2020.06.01 |
---|