• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL2007 VBA グラフサイズ修正バグ?)

EXCEL2007 VBA グラフサイズ修正バグ?

このQ&Aのポイント
  • EXCEL2007でマクロを使ってグラフのサイズ調整を行う際に、図形にマクロを登録して実行すると、グラフが広がってしまうバグがある。
  • 月度を含むワークブックに対して、指定したグラフ(chart1)を特定のエリアに配置する処理を行う。
  • このバグの原因は特定のエリアへの配置処理が正常に行われないためであり、解決策は不明である。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

バグかどうかの前に。 提示コードでは >Set rngTarget = Range("B24:AG42") ここでRangeの親Objectが指定されていない為、 標準モジュール上のコードならActiveSheet.Range("B24:AG42")がSetされています。 (たぶんマクロ登録した図形が配置されているシート) それは意図した動作ですか? また、グラフの場合ChartObjectをLoopすれば良いです。 2007では試していませんが Sub test()   Dim wb As Workbook   Dim ch As ChartObject   Dim i As Long   '開いているすべてのワークブックを処理対象とする   For Each wb In Workbooks     '「月度」が含まれているならば処理     If InStr(wb.Name, "月度") <> 0 Then       For i = 2 To 3         With wb.Worksheets(i)           For Each ch In .ChartObjects             If ch.Name = "chart1" Then               With .Range("B24:AG42")                 ch.Top = .Top                 ch.Left = .Left                 ch.Width = .Width                 ch.Height = .Height               End With             End If           Next         End With       Next     End If   Next   MsgBox "処理完了" End Sub 概ねこんな感じかと。

terbush200
質問者

お礼

ありがとうございます。 無事動作しました! グラフのシート指定があいまいだったのが原因だったのですね。 ループの仕方も勉強になりました。 グラフを初めて扱って、困っていたのでとても助かりました。

関連するQ&A

専門家に質問してみよう