私はいくつかのチャートシートを持つワークブックを持っています。すべてのチャートを一度に簡単に見つけることができるシートを作成したいので、パワーポイントのプレゼンテーションにすばやくコピーして貼り付けることができます。VBA:ワークシート内のチャートオブジェクトの整理
私のコードでは、各チャートシートのサイズをコピー、貼り付け、変更することができます。問題は、私がシートでそれらを整理しようとするときに来る。
コードはそれらをすべて1行に貼り付けています。たとえば、多数のチャートがある場合、特定のチャートを見つけるには時間がかかりすぎる可能性があります。
私は、このような何らかの形ですべての図表を整理し、各行に特定の数の図表を配置したいとします(たとえば、行ごとに2つの図表など)。
私はグラフの.left
プロパティを使用しようとしましたが、それは(これは私の意図ではないことに注意してください)同じ列にすべてのチャートを揃えます。
私も行の変数を導入しようとしましたが、グラフを貼り付けるために変数が次の行の「ジャンプ」するときを制御するのに問題があります。
可能であれば、これ以上のアイデアはありますか?
Sub PasteCharts()
Dim wb As Workbook
Dim ws As Worksheet
Dim Cht As Chart
Dim Cht_ob As ChartObject
Set wb = ActiveWorkbook
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
'k is the column number for the address where the chart is to be pasted
k = -1
For Each Cht In wb.Charts
k = k + 1
Cht.Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
Sheets("Gráficos").Select
Cells(2, (k * 10) + 1).Select
ActiveSheet.Paste
Next Cht
'Changes the size of each chart pasted in the specific sheet
For Each Cht_ob In Sheets("Gráficos").ChartObjects
With Cht_ob
.Height = 453.5433070866
.Width = 453.5433070866
End With
Next Cht_ob
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
MsgBox ("All Charts were pasted successfully")
End Sub
元のグラフ?あなたのワークブックの複数のワークシートで?一枚で?またはチャートシートとして配置されますか? –
元のすべてのグラフは、同じブック内のすべてのチャートシートとして配置されます。 – MBBertolucci
以下のソリューションを試してみましたか?どんなフィードバック? –