- ベストアンサー
マクロを利用したグラフ編集
- エクセルで作成したグラフを画像として保存させる方法について教えてください。
- マクロを使ってグラフを別シートに貼り付けて保存する方法を教えてください。
- マクロでグラフの大きさを変更する方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
"初心者" ということですので。。。 そのブックを開いた状態で [Alt]+[F11] で Visual Basic Editor を開く。 "標準モジュール" の中に記録したマクロが書いてあるので、[F8] をポンポン押しながら 1行ずつデバッグ。 エラーが出る箇所のコードと、エラーの内容を確認。 質問の際には どんなコードが記録されているのかを示す。 どこのコードでどんなエラーが出るのかを示す。 とすることでエラーに対する直接的で的確な回答を得られる確立が上がります。 またはもっと効率の良いやり方が提示される確立も上がります。 マクロのデバッグ方法については初心者用の書籍や Web で調べてみてください。 # とりあえず初心者用の書籍は手元に常備させておきましょう。
その他の回答 (1)
- temtecomai2
- ベストアンサー率61% (656/1071)
[切り取る] → [形式を選択して貼り付け] に関しては私も苦労させられました・・・ <やりたいこと> どこぞのシートにあるグラフをコピーして、 Sheet1 に図として貼り付けたいんですね? <前提> 「どこぞのシート」がすでに開かれていて、 そのシートにはグラフが 1つしかないとして・・・ Sub Test Dim objChart As ChartObject Set objChart = ActiveSheet.ChartObjects(1) objChart.Copy Sheets("Sheet1").Activate ActiveSheet.Range("A1").Activate ActiveSheet.PasteSpecial Format:="図 (拡張メタファイル)" End Sub ってのはどうでしょうか?
お礼
返信が送れてすいません。 上のコードでもエラーが出てしまいました。しかし、 もともとのコードのエラー原因はグラフ名が 毎回変化することでした。そこで、エクセル関数を 使って、グラフ名を参照するようにしたところ 上手くいきました。 ご迷惑をおかけいたしました。
補足
回答ありがとうございます。 返信が遅れてしまい、申し訳ございません。 早速ですが、 ActiveChart.ChartArea.Select ActiveChart.ChartArea.Copy Sheets("Sheet1").Select ActiveSheet.Paste ActiveSheet.ChartObjects("グラフ 1").Activate ActiveWindow.Visible = False ActiveWindow.WindowState = xlNormal ActiveWindow.WindowState = xlMaximized ActiveSheet.PasteSpecial Format:="図 (拡張メタファイル)", Link:=False, _ DisplayAsIcon:=False Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.Height = 255# Selection.ShapeRange.Width = 453.75 Selection.ShapeRange.Rotation = 0# Selection.ShapeRange.IncrementLeft 28.5 Selection.ShapeRange.IncrementTop 43.5 End Sub コードは上記のような感じでエラー部は ActiveSheet.ChartObjects("グラフ 1").Activate の部分です。 何か良いアドバイスお願いします。 ちなみにoffice2003です。