|
おはようございます。ponponです。
sheetの表題を一番はじめにする方法は、
unionを使ってうまく処理することができました。
しかし、グラフを4列五列にする方法が分かりません。
.Add(Left:=400, Top:=t + 9・・・
↑ ↑
ここに変数を使えばよいということは分かるのですが、ここから先が
うまい方法が見つかりません。
Left:=400+P P=Width:=240ずつ4回行ったら、Width:=240*4左に戻して
Top:=t + 9だけずらして、またLeft:=400+Pを4回、Width:=240*4左に戻して
また、Top:=t + 9ずらして・・・・となり、データがなくなったところで終了 for nextでできそうな気がするのですが・・・
もう少し考えてみます。
>以下、コードです。
Sub 参照元の設定()
Dim i As Integer
Dim t As Integer
Dim m As Long
m = Range("A65536").End(xlUp).Row
t = 0
For i = 2 To m Step 2
With ActiveSheet.ChartObjects.Add(Left:=400, Top:=t + 9, _ Width:=240, Height:=200).Chart
.SetSourceData Source:=Union(Range(Cells(2, 1), Cells(2, 6)), _
Range(Cells(i, 1), Cells(i, 6))), PlotBy:=xlRows
,PlotBy:=xlRows
.ChartType = xlRadarFilled
With .Axes(xlValue)
.MinimumScale = 0
.MaximumScale = 100
.MinorUnit = 5
.MajorUnit = 20
.Crosses = xlAutomatic
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
End With
t = t + 200
Next
End Sub
Sub グラフの削除()
Dim CH As ChartObject
Set allCH = ActiveSheet.ChartObjects
For Each CH In allCH
CH.Delete
Next
End Sub
|
|