1

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

  • 在宣布结果期间,我需要控制结果的显示,例如通过鼠标点击,就像在普通幻灯片中一样。
  • 我还需要控制显示结果的顺序(我的意思是需要首先显示点数最少的团队等)
  • 当值发生变化时,我需要动态排序表。

我已经完成了第三点(当“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在列中为 1 分Round 3并更新Total为 6。

  2. T3in column 3 点Round 3,更新Total为 7,最后按Total列降序对表中的行进行排序,因此T3将是第一,T1第二,T2并将保持在第三位。

  3. T2in column 5 分Round 3,更新Total为 8 并对表中的行进行排序,因此T2= 第一个,T3= 第二个,T1最后一个。

最好的解决方案是,我将Round 3在分数公告演示之前预先填写该列,然后在演示期间我只需单击鼠标按钮,信息就会弹出。我的意思是在第一次单击点 1 将执行后,在第二次单击点 2 将执行后,等等。

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

4

1 回答 1

0

参考这里,这是每次您开始演示文稿时更新表格的代码:

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

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

于 2017-04-03T18:42:33.223 回答