下記が上手く動作しないので、皆さまのお知恵を拝借したく思います。
概略を言いますと、散布グラフ選択時にmt02数の系列を増やすVBAです。増やした系列情報として基準系列データを与えており、その後置換処理をしています(基準系列=mt03、今は一時的に1系列目)
Sub 系列情報の取得
Dim fn As String
Dim mt02, mt03 As Integer
Dim i, k As Integer
Dim new_k As String
fn = ActiveChart.SeriesCollection(mt03).Formula
k = 1
Do Until k > mt02
new_k = 系列追加と参照先設定((i), (k), (fn))
k = k + 1
Loop
' グラフが選択されていない状態になるとココへ
Chart_Error:
msg = MsgBox("NG", vbCritical, "error")
End Sub
Function 系列追加と参照先設定(i2 As Integer, k2 As Integer, fn2 As String)
Dim fn_new As String
ActiveChart.SeriesCollection.NewSeries
' 系列情報を置換、一時的に1系列目を基準データとしている
i2 = i2 + k2
fn_new = Replace(fn2, "1)", i2 & ")")
ActiveChart.SeriesCollection(i2).Formula = fn_new
End Function
不具合箇所としては、Sub内でDo文が条件外となるとグラフが選択されていないと認識されてNG処理へ移行する点です。For文にしても不可、グラフを再選択させてもその瞬間にNGとなります。
お礼
おおっ、解決です。簡単なことでしたね・・・。