Excel Vba多个范围到powerpoint

我正在使用Excel Vba进行电源点自动化。这里是代码

'List of PPT Slides to Paste to MySlideArray = Array(2, 3, 4, 5, 6) 'List of Excel Ranges to Copy from MyRangeArray = Array(Sheet1.Range("$A$6:$I$16"), Sheet1.Range("$A$6:$I$8,$A$17:$I$33"), _ Sheet1.Range("$A$6:$I$16"), Sheet1.Range("$A$6:$I$16"), Sheet1.Range("$A$6:$I$16")) 'Loop through Array data For x = LBound(MySlideArray) To UBound(MySlideArray) 'Copy Excel Range MyRangeArray(x).Copy 'Paste to PowerPoint and position On Error Resume Next Set shp = myPresentation.Slides(MySlideArray(x)).Shapes.PasteSpecial(DataType:=2) 'Excel 2007-2010 Set shp = PowerPointApp.ActiveWindow.Selection.ShapeRange 'Excel 2013 On Error GoTo 0 

代码正在工作,唯一的问题是代码

  Sheet1.Range("$A$6:$I$8,$A$17:$I$33") 

不排除所说的单元格,简单地说它包含了所有的东西

您需要隐藏您不想在照片中拍摄的行。 尝试这个:

 For x = LBound(MySlideArray) To UBound(MySlideArray) With MyRangeArray(x) .Parent.Rows.Hidden = True ' <-- hide all rows .EntireRow.Hidden = False ' <-- show range's rows .Copy Set shp = myPresentation.Slides(MySlideArray(x)).Shapes.PasteSpecial(DataType:=2) .Parent.Rows.Hidden = False ' <-- show back all rows End With Next 

在这里输入图像说明