Ваш код работал отлично для меня, как только я его закончил. Я могу только предположить, что вы не знаете, как вызвать пользовательскую форму.
Я скопировал ваш Stackoverflow()
в модуль без изменений.
К тому же модулю я добавил:
Sub Main()
Dim RowMyArr As Long
Dim ColMyArr As Long
Load UserForm1
Call Stackoverflow
UserForm1.Show
Debug.Print " ";
For ColMyArr = LBound(myArr, 1) To UBound(myArr, 1)
Debug.Print Right(" " & ColMyArr, 4) & " ";
Next
Debug.Print
For RowMyArr = LBound(myArr, 2) To UBound(myArr, 2)
Debug.Print Right(" " & RowMyArr, 3) & " ";
For ColMyArr = LBound(myArr, 1) To UBound(myArr, 1)
Debug.Print Right(" " & myArr(ColMyArr, RowMyArr), 4) & " ";
Next
Debug.Print
Next
End Sub
Я создал форму пользователя и не изменил имя по умолчанию для UserForm1. Я добавил кнопку, назвал ее commandbutton
и скопировал ваш код в область кода формы. Перед End Sub
я добавил Unload UserForm1
, чтобы закрыть и выйти из формы.
Я запустил Main, и в ближайшее окно было выведено следующее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 19 20 21 22 23
2 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 35 37 39 41 43
3 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 51 54 57 60 63
4 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 67 71 75 79 83
5 13 18 23 28 33 38 43 48 53 58 63 68 73 78 83 83 88 93 98 103
6 14 20 26 32 38 44 50 56 62 68 74 80 86 92 98 99 105 111 117 123
7 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 115 122 129 136 143
8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 131 139 147 155 163
9 17 26 35 44 53 62 71 80 89 98 107 116 125 134 143 147 156 165 174 183
10 18 28 38 48 58 68 78 88 98 108 118 128 138 148 158 163 173 183 193 203
Я не проверял значения, но я предполагаю, что они правильные.