2014-10-05 6 views
0

Я пытаюсь изменить значение массива в VBA, но происходит ошибка времени выполнения '13' Несоответствие типа Я пытаюсь открыть форму пользователя, где 6 кнопок, когда нажимаются первые 5 кнопок, то шестой будет включенНазначение значений массиву

Public I As Integer 
Public Botones As Variant 

Sub funcion_final() 
Botones = Array(False, False, False, False) 
MainFrame.Show 
End Sub 

Function ChangeValue(I) 
Botones(I) = True //Here is the error 
End Function 

а вот код кнопки, все они имеют точно такой же код, только изменяя число, которое отправляется в качестве параметра

Private Sub BPieza_1_Click() 
ChangeValue 0 
End Sub 
+0

Вы когда-нибудь называли funcion_final? – GSerg

+0

Ну, я только что закрыл его, перезагрузил свой компьютер и снова выполнил его, и он работает. Не знаю, почему .... но хорошо, он работает. Спасибо большое Извините за то, что вы теряете время –

+0

Это должно быть 'Sub ChangeValue (I) 'и не функция. Вы ничего не возвращаете. – ja72

ответ

1

funcion_final() никогда не вызывается, поэтому массив никогда инициализируется. Перед вызовом ChangeValue() убедитесь, что вы звоните funcion_final().

Смежные вопросы