Данные в массиве предыдущего кармана удаляются - PullRequest
0 голосов
/ 12 марта 2020
Dim n As Integers
Public AAA() As Integer
Public QQQ() As String

Sub Initialise()
n = 0
End Sub

Sub WrongAnswer(oShape As Shape)
A = oShape.TextEffect.Text
SendWrongAnswer
End Sub

Sub SendWrongAnswer()
ReDim QQQ(500)
QQQ(n) = Q

ReDim AAA(500)
AAA(n) = A

n = (n) + 1
End Sub

Когда я создаю массив AAA() и QQQ() и сохраняю данные в карманах, данные в более ранних карманах становятся "0" или "".

Если AAA(1) = 50, а затем когда макрос хранит AAA(2) = 34, тогда AAA(1) становится 0.

1 Ответ

3 голосов
/ 12 марта 2020

Переместите оператор ReDim в метод Sub Initialise, тогда он будет работать.

Sub Initialise()
n = 0
ReDim AAA(500)
ReDim QQQ(500)
End Sub

РЕДАКТИРОВАТЬ: если вы хотите сохранить существующие данные при повторном измерении, используйте ключевое слово preserve.

ReDim Preserve AAA(500)
...