Динамический массив с учетом уменьшения элементов - VBA
Формулировка задачи:
Здравствуйте, подскажите как создать динамический массив из данного кода, но с одним условием. Если TextBoxCoordinate.Value выпадает элемент "C2", то из массива убираются и он сам и вокруг него элементы, например: "B1", "B2", "B3", "C1", "C2", "C3", "D1", "D2" и "D3". И так для каждого элемента. Чтобы с каждым нажатием кнопки массив становился меньше и меньше.
Листинг программы
- Sub GenerationCoordinates()
- Dim coord()
- coord = Array("A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", _
- "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", _
- "C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", _
- "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", _
- "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8", "E9", "E10", _
- "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", _
- "G1", "G2", "G3", "G4", "G5", "G6", "G7", "G8", "G9", "G10", _
- "H1", "H2", "H3", "H4", "H5", "H6", "H7", "H8", "H9", "H10", _
- "I1", "I2", "I3", "I4", "I5", "I6", "I7", "I8", "I9", "I10", _
- "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10")
- Randomize
- Dim q
- q = Int(100 * Rnd)
- TextBoxCoordinate.Value = coord(q)
- End Sub
- Private Sub ImageAuto_Click()
- GenerationCoordinates
- End Sub
Решение задачи: «Динамический массив с учетом уменьшения элементов»
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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д