Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


27746 / 76738 ←次へ | 前へ→

【54309】Re:文字列に含まれる短文を置き換えるには?
発言  ichinose  - 08/3/5(水) 20:46 -

引用なし
パスワード
   ▼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

これで何か問題がありますか?

0 hits

【54306】文字列に含まれる短文を置き換えるには? SS 08/3/5(水) 18:00 質問
【54309】Re:文字列に含まれる短文を置き換えるには? ichinose 08/3/5(水) 20:46 発言
【54316】Re:文字列に含まれる短文を置き換えるには? SS 08/3/6(木) 11:39 お礼

27746 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free