Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays PowerPoint VBA-在声明中声明数组_Arrays_Vba_Powerpoint_Using Declaration - Fatal编程技术网

Arrays PowerPoint VBA-在声明中声明数组

Arrays PowerPoint VBA-在声明中声明数组,arrays,vba,powerpoint,using-declaration,Arrays,Vba,Powerpoint,Using Declaration,如果有人能告诉我是否在声明语句中正确声明了数组,以便在所有宏和程序中都可以使用,我将不胜感激 有了PowerPoint VBA,我的理解是,如果您想在整个程序中访问变量,那么您需要在开始时声明它们(声明)。据我所知,这对我的非数组变量(例如整数)非常有效,但不幸的是,对于一组特定的数组,这并不适用 以下是我目前的声明。对于所有非数组,它们的值在运行不同的宏时保留。但是,当我尝试在其他宏中访问TileAnswer()数组时,这些数组的值已丢失。我注意到,这个宏是在程序用户单击一个形状后调用的,该形

如果有人能告诉我是否在声明语句中正确声明了数组,以便在所有宏和程序中都可以使用,我将不胜感激

有了PowerPoint VBA,我的理解是,如果您想在整个程序中访问变量,那么您需要在开始时声明它们(声明)。据我所知,这对我的非数组变量(例如整数)非常有效,但不幸的是,对于一组特定的数组,这并不适用

以下是我目前的声明。对于所有非数组,它们的值在运行不同的宏时保留。但是,当我尝试在其他宏中访问TileAnswer()数组时,这些数组的值已丢失。我注意到,这个宏是在程序用户单击一个形状后调用的,该形状具有激活相关宏的操作。我注意到,一旦这个动作发生,值就会变为零。(没有处理新代码。)为了进一步混淆问题,我还使用了另一组数组(显示为arraytest2),它们不会丢失值!我将非常感谢任何关于我应该尝试什么的建议或帮助

谢谢大家!

Option Explicit
Dim Score, WrongClicks, StateofGame, ActiveRectangle1, ActiveRectangle2 As Integer
Dim TimeStart, TimeEnd As Date

Dim MyDocument As Slide
Dim oshp, oshp2 As Shape
Dim oeff As Effect
Dim oeff2 As Effect
Dim TileAnswer(16) As Integer
Dim arraytest2(2) As Integer

非常感谢杰里米·汤普森-你帮我很快找到了我的问题!发生的事情是,我在第一个宏中使用另一个Dim TileAnswer(16)作为整数再次声明了数组。在发现如何在编码顶部使用声明之前,我已经使用了这段代码(因此没有考虑删除第二条Dim语句的必要性)。否则,如果有人认为我的问题很基本,我很抱歉,但我正在自学PowerPoint VBA,可能还处于学习的早期阶段

再次非常感谢!
Alec Armstrong

您遇到了一个常见错误,声明多个变量会导致第2个、第3个等变为变量。在某个时刻,你正在重做瓷砖。它可能超出范围,除非这些方法位于不同的模块中,否则您需要将其声明为整数,使其成为全局变量。