ワークシートのデータに基づいてグラフを作成しようとしています。グラフを作成するコードがあります。ワークシートをループしてVBAでグラフを作成する
問題私はグラフがすでに存在する場合、私はそれは、以前のデータをきれいにし、新しいデータを入れて活性化する場合には、チェックするために私のワークブックのワークシートをループにしようとしています 。
の場合
ワークシートの名前が一致するかどうかを確認するためにダブルループを作成しようとしましたが、動作しません(グラフを何も設定できません)。
何をすればいいですか?
現在のコード(関連部分のみ)
Set RetRange = w.Sheets("Ret").UsedRange
' Set RetRange = w.Sheets("Returns Output").Range(w.Sheets("Ret").Cells("A1").SpecialCells(xlLastCell))
'if graph is already there, change
Set RetChart = Nothing
For Each ws In w.Worksheets
If ws.Name = "RetGraph" Then
Set RetChart = Charts("Ret").Activate
Else
End If
Next ws
If RetChart = Nothing Then
Set RetChart = Charts.Add
End If
With RetChart
.Select
.ChartType = xlLine
.HasTitle = True
.ChartTitle.Text = "Index Performance"
.SetSourceData Source:=RetRange
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Date"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Return"
.Name = "RetGraph"
.Legend.Select
Selection.position = xlBottom
End With
End Sub
感謝のループを回避することができます。私はあなたがワークシートのチャートをループしていることを理解しています。私の間違いは、チャートシートにチャートを作成していることです。 私は今それをループし、チャートがすでに存在するかどうかを確認しようとしています。そうでない場合は、グラフを作成します。 – DGMS89
@ DGMS89 **編集1 **の下で私の編集したコードを試してください –