|
Jakaさんのコメントからして、
まるで見当違いなことしてんやな・・・と思いつつ、
>Sub グラフ取得テスト()
これが全く持って訳わからんので、
わかりそうなことから手をつけてみた。
A B C D E F
1 東城医 田口 速水 島津 桐生 鳴海
2 1月 65 25 13 40 41
3 2月 54 67 58 70 72
4 3月 45 25 15 35 50
5 4月 65 77 68 91 100
6 5月 57 32 50 42 40
7 6月 95 42 52 35 62
Sub グラフ元データセル取得()
Dim i As Long
Dim strBuf As String
Dim strData As String
Dim rData As Range
Dim GrR
With ActiveChart
For i = 1 To .SeriesCollection.Count
strBuf = .SeriesCollection(i).Formula
'=SERIES(データ!$B$1,データ!$A$2:$A$7,データ!$B$2:$B$7,1)な形
strBuf = Replace(Replace(strBuf, "," & i & ")", ""), "=SERIES(", "")
'データ!$B$1,データ!$A$2:$A$7,データ!$B$2:$B$7 の形に
If i = 1 Then
strData = strBuf
Else
strData = strData & "," & strBuf
End If
Next i
GrR = Split(Range(strData).Address, ",")
For i = LBound(GrR) To UBound(GrR)
If i = LBound(GrR) Then
Set rData = Range(GrR(LBound(GrR)))
Else
Set rData = Range(rData, Range(GrR(i)))
End If
Next i
MsgBox rData.Address
rData.Select
End With
Set rData = Nothing
End Sub
実行したら、
おお! ちゃんと「$A$1:$F$7」ってメッセージが出て、
ちゃんとその範囲が選択されるぞ!!
・・・って、喜んでたんだけど・・・・
これって、元データの範囲が一つの時だけやったorz
飛び地、例えば「$A$1:$B$7,$D$1:$F$7」とかになってるともうダメやねんねorz
同じく「$A$1:$F$7」になっちゃーう(>_<)
このまま改造していけばいいんやろか(でもどうやって!?
全然全く違うアプローチでいかんとあかんの?
|
|