|
▼ビール腹子 さん:
>りんさん、ご返答ありがとうございます。
>りんさんの記述を引用してみましたが、できる場所は変わらずでした(;_q)
位置がずれるという意味がよくわからないので、とりあえずログをとってみましょう。
新しいブックにこれを記述して、グラフ作成後のシートを表示してから実行してみてください。
Sub test()
Dim co As ChartObject
Dim ws(1 To 2) As Worksheet
Set ws(1) = ActiveWorkbook.ActiveSheet 'グラフのあるシート
Set ws(2) = Workbooks.Add.Worksheets(1) 'ログ表示用
'
For Each co In ws(1).ChartObjects
RR& = RR& + 1
With co
ws(2).Cells(RR&, 1).Value = .Name
ws(2).Cells(RR&, 2).Value = .Left
With .TopLeftCell
ws(2).Cells(RR&, 3).Value = .Address(False, False)
ws(2).Cells(RR&, 4).Value = .Left
End With
ws(2).Cells(RR&, 5).FormulaR1C1 = "=RC[-3]-RC[-1]"
End With
Next
'
ws(2).Parent.Saved = True
If RR& = 0 Then
MsgBox "シート上に埋め込みグラフ無し", vbExclamation
ws(2).Parent.Close
End If
Erase ws
End Sub
|
|