Динамический массив с учетом уменьшения элементов - VBA
Формулировка задачи:
Здравствуйте, подскажите как создать динамический массив из данного кода, но с одним условием. Если TextBoxCoordinate.Value выпадает элемент "C2", то из массива убираются и он сам и вокруг него элементы, например: "B1", "B2", "B3", "C1", "C2", "C3", "D1", "D2" и "D3". И так для каждого элемента. Чтобы с каждым нажатием кнопки массив становился меньше и меньше.
Решение задачи: «Динамический массив с учетом уменьшения элементов»
textual
Листинг программы
Option Explicit
Dim col As New Collection, ind&
Sub initiate()
Dim a(), el
Set col = Nothing
ind = 12
a = Array("begin", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "end")
For Each el In a
col.Add el
Next
End Sub
Sub GenerationCoordinates()
Dim a()
Dim q&
Randomize
q = Int(ind * Rnd) + 1
MsgBox col(q + 1)
col.Remove (q + 2)
col.Remove (q + 1)
col.Remove (q)
ind = ind - 3
Select Case q
Case 1
col.Add "begin", Before:=1
Case col.Count + 1
col.Add "end"
End Select
If ind = 0 Then MsgBox "по новой!", vbExclamation: initiate
End Sub
Private Sub ImageAuto_Click()
GenerationCoordinates
End Sub