|
▼SS さん:
こんばんは。
>
>いま大量のグラフの参照先を変更する必要がありマクロを組んでいます。
>変更内容は、現状グラフの参照先が他シートになっているものを自シートに
>するというものです。セル範囲の変更はありません。
>
>Sub test()
> Dim Sheet_Name As String
> Dim Text_temp As String
> Dim i As Integer, j As Integer
>
> 'シート名の取得(置換え用)
> Sheet_Name = ActiveSheet.Name
>
> For i = 1 To ActiveSheet.ChartObjects.Count 'シート内全てのグラフへ対応
> ActiveSheet.ChartObjects.Item(i).Activate
> For j = 1 To ActiveChart.SeriesCollection.Count 'グラフ内全ての線図
> Text_temp = ActiveChart.SeriesCollection(j).Formula
> '"************" = Text_tempとSheet_Nameで作る ←この部分
> ActiveChart.SeriesCollection(j).Formula = "************"
> Next j
> Next i
>End Sub
>
>例)
>ActiveChart.SeriesCollection(j).Formula = _
> SERIES('Sheet1'!$Q$5,,'Sheet1'!$Q$7:$Q$8766,4) を
>ActiveChart.SeriesCollection(j).Formula = _
> SERIES('Sheet_Name'!$Q$5,,'Sheet_Name'!$Q$7:$Q$8766,4)
>にしたいのですが、Sheet1とSheet_Nameの置換えを簡単にする方法はありませんか?
>ActiveChart.SeriesCollection(1).Values では上手く取得できなかったので
>ActiveChart.SeriesCollection(j).Formula を使うことにしました。
Formulaの中身が掲載されたような形式なら、
Replace関数を使えばよいと思いますが・・・。
with ActiveChart.SeriesCollection(j)
.Formula =replace(.formula,"Sheet1","Sheet_Name")
end with
これで何か問題がありますか?
|
|