
アクティブになっているsheetのグラフを参照し、
それを『まとめ』sheetに移動して張り付ける。
現在 ★マークのところでエラーになっています。
オブジェクトは、このメソッドをサポートしていません…と、これは何のエラーになるのでしょうか?
アドバイスお願い致します.
Sub test()
Dim str As String
★str = ActiveSheet.ChartObjects.Name 'strにグラフ名を代入 ←不具合中…
Sheets("まとめ").Activate '---sheet 『まとめ』を アクティブにする
ActiveSheet.ChartObjects(str).Activate
ActiveChart.Paste
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
>オブジェクトは、このメソッドをサポートしていません…と、これは何のエラーになるのでしょうか?
ChartObjects だけですと、オブジェクトのコレクションだから、固有の名前を持たないということではありませんか?
ちょっと手直ししてみました。
Sub test2()
Dim str As String
str = ActiveSheet.ChartObjects(1).Name
ActiveSheet.ChartObjects(str).Copy
Sheets("まとめ").Paste
End Sub
#1 さんのおっしゃるとおり、シートに1個しかない時は、インデックス は、「1」でよいのですが。
早い話、以下でもよいわけですね。(^^;
ActiveChart.ChartObjects.Copy
Sheets("まとめ").Paste
この回答への補足
>オブジェクト… エラー部分は解消されました。
補足で教えてもらいたいのですが…
●Sheets("まとめ").Paste 部分を改造して、
貼付先のsheet名を(今回はまとめ)選択しつつ、貼付位置のセルを指定して貼付を行う事は可能でしょうか?
以下が現在処理している全体ソースです。
Sub まとめ用()
Dim ws As Worksheet
Dim str As String
Dim i As Integer
i = 1
Sheets("sheet名").Select
ActiveSheet.Next.Select
For Each ws In ActiveWorkbook.Sheets
If ws.Name = "まとめ" Then
Else
str = ActiveSheet.ChartObjects(1).Name
ActiveSheet.ChartObjects(str).Copy
●Range("A2").Offset(i).Select
Sheets("まとめ").Paste
On Error Resume Next
ActiveSheet.Next.Select
▲i = i + 20
End If
Next
End Sub
<現在の不具合状況>
●部分のセル参照の効果がなく、グラフの貼付2回目以降は自動貼付で 『まとめ』sheet に順に貼付していってしまう。
これを ▲部分の定義のように i = i+20 と offset()関数組み合わせにより、2回目以降の貼付はセル参照を20順に下げて貼付されていくように処理したい。
再度アドバイスよろしくお願い致します m(__)m
No.2
- 回答日時:
#1です
さらに調べていたら間違だったので、訂正します
グラフの名前を取得するサンプルがありました
http://hpcgi1.nifty.com/kenzo30/b_cbbs/cbbs.cgi? …
そもそもグラフの名前の取得するのですから、ActiveSheetではなくActiveChartと思います
参考URL:http://hpcgi1.nifty.com/kenzo30/b_cbbs/cbbs.cgi? …
No.1
- 回答日時:
ちょっと調べただけなんですけど、グラフって複数枚作れるじゃないですか だから
ChartObjects(対象とするグラフの番号).Nama
となるようです
(1枚しかないのなら1)
参考になれば幸いです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
テキストボックス中の文字列の...
-
エクセル/保護したシート上の埋...
-
実行時エラー 3265「要求された...
-
「オブジェクト変数または With...
-
AccessVBAで「dim dbs as datab...
-
Excel VBAでIEにアクセスするプ...
-
アクセスにてオブジェクト名変...
-
VBAで Set wb = Sheets(1).Cop...
-
VBA 実行時エラーで、"プロパテ...
-
エクセルマクロエラー「'Cells'...
-
(初心者です)VBAについて。「実...
-
CreateObjectできるものについて
-
VBAで作成するメール(開封確認...
-
表示されるまで待たせたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
テキストボックス中の文字列の...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
AccessVBAで「dim dbs as datab...
-
EXCEL VBA オートシェイプナン...
-
オブジェクト変数またはWITHブ...
-
[VBA]CDOメッセージ送信エラー
-
エクセルマクロエラー「'Cells'...
-
findメソッドの変数について
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
オブジェクト変数の取得について
-
CreateObjectとGetObjectの違い
おすすめ情報