仅将包含Excel数据的单元格复制到Powerpoint VBA

时间:2017-08-22 13:23:59

标签: excel vba excel-vba copy powerpoint

我在Excel上有一个表,根据应用的过滤器,它的大小不同(行数;列数始终相同)。

该表位于名为“零售商”的工作表的B2:F7范围内。

我想编写一个VBA脚本,将该表复制到名为“Stores”的现有Powerpoint演示文稿的幻灯片35中。但是,由于表的大小不同,我希望在每次运行代码时,只复制那些具有值的行。

我试过这样做:

Sub Copy Table ()

'Copy Range from Excel
  Set rng = ThisWorkbook.Sheets("Retailers").Range("B2:F7")

'Copy Excel Range
  rng.Copy

'Paste to PowerPoint and position

我不确定如何将其粘贴到Powerpoint,也不确定只复制带有数据的行。

我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

Sub t()
    Dim copy_range As Range, paste_range As Range
    With Sheets("Sheet1")
        Set copy_range = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
    End With

    Set paste_range = Sheets("Sheet2").Range("A5")

    copy_range.Copy paste_range
End Sub

答案 1 :(得分:0)

所以问题是,如何选择非空白细胞? 您可以使用动态范围选择 - 使用End属性甚至更容易使用CurrentRegion属性。它的工作方式类似于普通Excel视图中的ctrl + shift +箭头快捷方式。