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