通过幻灯片

时间:2017-04-03 18:01:48

标签: excel vba powerpoint powerpoint-vba office-2016

我需要创建一个简单的单滑动Powerpoint幻灯片,其中一个表格或图表用作记分板。

  • 在公布结果时,我需要控制结果的显示,例如通过鼠标点击,就像在正常幻灯片中一样。
  • 此外,我需要控制显示结果的顺序(我的意思是需要首先显示最少点数的团队等。)
  • 我需要在值更改时动态对表进行排序。

我已经完成了第三点('SUM'列中的值更改时自动排序表)。我用我想要的表创建了Excel工作表,并在代码下面应用了自动排序表。

Private Sub Worksheet_Calculate()
    On Error Resume Next

    Range("A3:H8").Sort Key1:=Range("H3:H8"), _
        Order1:=xlDescending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom
End Sub

我通过链接使用粘贴特殊选项将此表添加到powerpoint幻灯片中,当我更新excel中的数据时,powerpoint中的数据也会发生变化(但它也不会每次都有效,有时我需要右键单击powerpoint中的表并实现连接)。但是当我运行幻灯片时,这不起作用。

以下是表格的示例:

--------------------------------------------------------
| Team | Round 1 | Round 2 | Round 3 | Round 4 | Total |
--------------------------------------------------------
|  T1  |    2    |    3    |         |         |   5   |
--------------------------------------------------------
|  T3  |    3    |    1    |         |         |   4   |
--------------------------------------------------------
|  T2  |    0    |    3    |         |         |   3   |
--------------------------------------------------------

然后在Round 3这就是结果:

------------------
| Team | Round 3 | 
------------------
|  T1  |    1    |
------------------
|  T3  |    3    |
------------------
|  T2  |    5    |
------------------

我想表明:

  1. T1列中Round 3的1分,并将Total更新为6。
  2. T3列中Round 3的3个点,将Total更新为7,最后按Total列降序对表格中的行进行排序,以便T3成为第一个,T1秒和T2将保留在第三位。
  3. T2列中Round 3的5分,将Total更新为8并对表格中的行进行排序,以便T2 =第一,T3 =秒和{ {1}}将是最后一次。
  4. 最佳解决方案是,我将在得分公告演示之前预填充T1列,然后在演示期间我只需单击鼠标按钮即可弹出信息。我的意思是在第一次单击点1将执行后,第二次单击点2将执行,等等。

    是否可以在演示期间更新表格中的数据? 我可以使用数据预填充表格,选择显示顺序并通过鼠标单击控制它们的显示吗?

    注意:使用Office 2016。

1 个答案:

答案 0 :(得分:0)

参考here,这是一个代码,每次开始演示时都会更新表格:

 Sub OnSlideShowPageChange(ByVal objWindow As SlideShowWindow)
   If objWindow.View.CurrentShowPosition = _
                 objWindow.Presentation.SlideShowSettings.StartingSlide Then
     'Put your update code here
   End If
 End Sub

您还可以在幻灯片中添加一个运行更新宏的按钮。我也认为它可以链接到"点击" (而不是一个按钮)更方便但不确定。