質問: エクセルのグラフのデータ系列の順序をvbaで変更する 下記の変更をvbaで行いたいのですがわかりません。 系列は2つです。 データ系列の中のどれかひとつをダブルクリックします。 あるいは、右クリック-[データ系列の書式設定(o)...]や、データ系列を選択して[書式(o)]-[選択したデータ系列(e)...]や、データ系列を選択して[ctrl] + [1]キー でも構いません。[データ系列の書式設定]ダイアログボックスを表示させます。 [系列の順序]タブを選択します。 順序を変更したいデータ系列を、[系列の順序(s)]から選択、[上へ移動(u)]や[下へ移動(d)]ボタンで順序を変更してください。 以上、よろしくお願いします。
回答: こんにちは たぶん、対話型で、以下のようなものになるように思います。 ただし、散布図はこの範疇ではありません。 '// sub chartseriesmoving() dim objchrt as chartobject dim chsries as fullseriescollection dim nums as integer dim i, j, nm as string set objchrt = activesheet.chartobjects(1) set chsries = objchrt.chart.fullseriescollection nums = chsries.count start: i = application.inputbox("系列の順番の数字を入れてください。(左/上から" & nums & "までです.)") if vartype(i) = vbboolean then exit sub if val(nums) < i then msgbox "数字が系列の数より多いです。", vbexclamation: exit sub nm = chsries(i).name chsries(i).select j = application.inputbox(nm & "を何番目に写しますか?左/上から(左/上から" & nums & "までです.)") if vartype(j) = vbboolean then exit sub chsries(i).plotorder = j application.screenupdating = true application.wait now + timeserial(0, 0, 3) if msgbox("続けますか(y), 終了しますか(n)", vbyesno) = vbyes then goto start end if end sub なお、私は、リクエストされたご要望の回答者層には含まれていません。