Linux如何将数组数据放入ddr,如何将excel中预定义范围的数组粘贴到嵌入/链接中?...

我试着用互联网上的类似功能混杂不同的代码来产生所需的效果,但是使用数组中的预定义范围,我意识到范围不会被嵌入/链接粘贴。如何将excel中预定义范围的数组粘贴到嵌入/链接中?

我试图在一张新幻灯片中为每张幻灯片设置一个范围,以便于报告。到目前为止,代码将所有范围粘贴到每个幻灯片1个范围的新ppt中,但不会将其粘贴为嵌入。有什么方法可以解决这个问题?

Sub ExcelRangeToPowerPoint()

'PURPOSE: Copy/Paste An Excel Range Into a New PowerPoint Presentation

'SOURCE: www.TheSpreadsheetGuru.com

Dim rng As Range

Dim PowerPointApp As Object

Dim myPresentation As Object

Dim mySlide As Object

Dim myShape As Object

Dim MyRangeArray As Variant

Dim oPPTApp As PowerPoint.Application

Dim x As Long

MyRangeArray = _

Array(_

Sheets("All DDR").Range("A3:J11"), Sheets("All DDR").Range("A13:J21"),

Sheets("All DDR").Range("A23:J31"), _

Sheets("All DDR").Range("A33:J41"), Sheets("All DDR").Range("A43:J51"),

Sheets("All DDR").Range("A53:J61"), _

Sheets("All DDR").Range("A63:J71"), Sheets("All DDR").Range("A73:J81"),

Sheets("All DDR").Range("A83:J91"), _

Sheets("All DDR").Range("A93:J101"), Sheets("All

DDR").Range("A103:J111"), _

_

Sheets("TNR DDR").Range("A3:J11"), Sheets("TNR DDR").Range("A13:J21"),

Sheets("TNR DDR").Range("A23:J31"), _

Sheets("TNR DDR").Range("A33:J41"), Sheets("TNR DDR").Range("A43:J51"),

Sheets("TNR DDR").Range("A53:J61"), _

Sheets("TNR DDR").Range("A63:J71"), Sheets("TNR DDR").Range("A73:J81"),

Sheets("TNR DDR").Range("A83:J91"), _

Sheets("TNR DDR").Range("A93:J101"), Sheets("TNR

DDR").Range("A103:J111"), _

_

Sheets("BE2 DDR").Range("A3:J11"), Sheets("BE2 DDR").Range("A13:J21"),

Sheets("BE2 DDR").Range("A23:J31"), _

Sheets("BE2 DDR").Range("A33:J41"), Sheets("BE2 DDR").Range("A43:J51"),

Sheets("BE2 DDR").Range("A53:J61"), _

Sheets("BE2 DDR").Range("A63:J71"), Sheets("BE2 DDR").Range("A73:J81"),

Sheets("BE2 DDR").Range("A83:J91"), _

Sheets("BE2 DDR").Range("A93:J101"), Sheets("BE2

DDR").Range("A103:J111"), _

_

Sheets("FE+BE1 DDR").Range("A3:J11"), Sheets("FE+BE1

DDR").Range("A13:J21"), Sheets("FE+BE1 DDR").Range("A23:J31"), _

Sheets("FE+BE1 DDR").Range("A33:J41"), Sheets("FE+BE1

DDR").Range("A43:J51"), Sheets("FE+BE1 DDR").Range("A53:J61"), _

Sheets("FE+BE1 DDR").Range("A63:J71"), Sheets("FE+BE1

DDR").Range("A73:J81"), Sheets("FE+BE1 DDR").Range("A83:J91"), _

Sheets("FE+BE1 DDR").Range("A93:J101"), Sheets("FE+BE1

DDR").Range("A103:J111") _

)

'Create an Instance of PowerPoint

On Error Resume Next

'Is PowerPoint already opened?

Set PowerPointApp = GetObject(class:="PowerPoint.Application")

'Clear the error between errors

Err.Clear

'If PowerPoint is not already open then open PowerPoint

If PowerPointApp Is Nothing Then Set PowerPointApp =

CreateObject(class:="PowerPoint.Application")

'Handle if the PowerPoint Application is not found

If Err.Number = 429 Then

MsgBox "PowerPoint could not be found, aborting."

Exit Sub

End If

On Error GoTo 0

'Optimize Code

Application.ScreenUpdating = False

'Create a New Presentation

Set myPresentation = PowerPointApp.Presentations.Add

'Copy Range from Excel

For x = 0 To 43

Set rng = MyRangeArray(x)

'Add a slide to the Presentation

Set mySlide = myPresentation.Slides.Add(1, 11) '11 = ppLayoutTitleOnly

'Copy Excel Range

rng.Copy

'Paste to PowerPoint and position

mySlide.Shapes.PasteSpecial (Link = True)

Set myShape = mySlide.Shapes(mySlide.Shapes.Count)

'Set position:

myShape.Left = 66

myShape.Top = 152

'Make PowerPoint Visible and Active

PowerPointApp.Visible = True

PowerPointApp.Activate

'Clear The Clipboard

Application.CutCopyMode = False

Next

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值