![](/img/trans.png)
[英]C#: How to copy excel cell range and chart data to power point slides
[英]Open Power Point chart data in Excel
我正在嘗試創建一個宏以清理Powerpoint中圖表后面的Excel工作表,以便僅存在圖表中正在使用的數據,並且沒有公式。
我拼湊了一下,當我在Excel中打開圖表數據時可以正常工作,但是我希望可以創建一個宏來遍歷工作簿中的每個圖表,並為我打開Excel中的圖表數據,以便我可以執行每個以下。
Sub ChartCleaningPP()
'Paste values of table
Range("Table1[#All]").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Dim Cell As Range
'clear other cells
For Each Cell In ActiveSheet.UsedRange
If Intersect(Cell, Selection) Is Nothing Then
Cell.Clear
End If
Next Cell
'remove hidden
For lp = 256 To 1 Step -1
If Columns(lp).EntireColumn.Hidden = True Then Columns(lp).EntireColumn.Delete Else
Next
For lp = 65536 To 1 Step -1
If Rows(lp).EntireRow.Hidden = True Then Rows(lp).EntireRow.Delete Else
Next
'close window
ActiveWindow.Close
End Sub
嘗試這個:
Sub ChangeCharts()
Dim ws As Worksheet
Dim myChart As ChartObject
For Each ws In ThisWorkbook.Worksheets
For Each myChart In ws.ChartObjects
'your code here
'i.e Call ChartCleaningPP
Next myChart
Next ws
End Sub
編輯:(從PP運行Excel Makro)需要在PP中激活MS Excel庫。
Sub RunExcelMakro()
Dim wk As Object
Dim Path As String
CreateObject ("Excel.Application")
Set xlApp = New Excel.Application
xlApp.Visible = True
Path = "C:\Users\User\Desktop\F\1.xlsm" 'Edit Path
Set wk = xlApp.Workbooks.Open(Path)
xlApp.Run "YourMakro"
xlApp.Quit
End Sub
編輯:
Sub M1()
Dim sld As Slide
Dim sh As Shape
Dim Path As String
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
For Each sld In ActivePresentation.Slides
For Each sh In sld.Shapes
If sh.Type = msoLinkedOLEObject Then
With sh.LinkFormat
Path = .SourceFullName
xlApp.Workbooks.Open Path
End With
End If
Next sh
Next sld
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.