ゴリラストロングの雑記帳

月収10万円の広告収入を目指す自称専業ライターのブログです。




【Excel VBA】パワポにスライドを追加してエクセルのグラフを自動貼り付けするマクロ。




どうも、ゴリラストロングです。

 

 

今回はパワポにスライドを追加してエクセルのグラフを自動貼り付けするマクロを作成してみました。

 

 

①グラフを作成するモジュール。

パワポへ作成したグラフを転記するモジュール。

 

 

上記二つのマクロを作成しました。

 

 

 

 

<動画>


【Excel VBA】グラフ作成マクロ ゴリラストロングの雑記帳

 

 


【Excel VBA】パワポへのグラフ自動転記マクロ ゴリラストロングの雑記帳

 

 

 

 

<元データ>

f:id:gorilla-strong:20200301070955p:plain

この表から、グラフを作成し、作成したグラフをパワポに転記するという処理を行います。

 

 

 

<マクロ実行後>

f:id:gorilla-strong:20200301071200p:plain

グラフは重なっていますが、10品目分のグラフが作成されています。

 

 

 

 

ソースコード

Sub 服飾品()

Dim FSH As Object
Set FSH = Workbooks("ゴリラストロングの雑記帳3.xlsm").Worksheets("服飾品")

Dim lastrow As Long
lastrow = FSH.Cells(Rows.Count, 1).End(xlUp).Row


For i = 3 To lastrow

Dim rng As Range
Set rng = FSH.Range(Cells(i, 1), Cells(i, 13))

Dim Gname As String
Gname = FSH.Range("A" & i)




With FSH.Shapes.AddChart.Chart
    .ChartType = xlLineMarkers
    .SetSourceData Union(FSH.Range("A2:M2"), rng)
    .HasTitle = True
    .ChartTitle.Text = Gname
    .ChartStyle = 233
End With


With FSH.ChartObjects
        .Top = Range("B1").Top
        .Left = Range("B1").Left
        .Height = 450
        .Width = 600
End With

Next


End Sub

 

 

 

スポンサーリンク

 

 

 

続けて、パワポへの貼り付けマクロです。

上で紹介したマクロの実行後に実行します。

 

 

<マクロ実行後>

f:id:gorilla-strong:20200301071757p:plain

 

 

ソースコード

Sub パワポ貼り付け()

Dim FSH As Object
Set FSH = Workbooks("ゴリラストロングの雑記帳3.xlsm").Worksheets("服飾品")


Dim ppApp As New PowerPoint.Application
ppApp.Visible = True

Dim pradd As Object
Set pradd = ppApp.Presentations.Add


Dim lastrow As Long
lastrow = FSH.Cells(Rows.Count, 1).End(xlUp).Row



For i = 1 To lastrow - 2

pradd.Slides.Add Index:=i, Layout:=ppLayoutTitle

Next



For j = 1 To lastrow - 2

FSH.ChartObjects(j).Chart.CopyPicture xlScreen, xlPicture
pradd.Slides(j).Shapes.Paste

Next


End Sub

 

エクセルでのグラフの作成から、パワポへの作成したグラフの転記ができています。

こういった処理は実際の業務でもありそうなシチュエーションなので、参考にしてみてください。

 

以上、ゴリラストロングでした。

 

スポンサーリンク