powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Создать массив из повторяющихся элементов
4 сообщений из 4, страница 1 из 1
Создать массив из повторяющихся элементов
    #36519562
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть в листбоксе список:

Комната 1 - 1 окно
Комната 2 - 2 окна
Комната 3 - 1 окна
Комната 4 - 3 окна

Вытягиваем его в массив,

Код: plaintext
Array_List = Me.ListBox3.List

а дальше...

Не могу сообразить как циклом переформатировать массив таким образом:

Комната 1 - 1 окно
Комната 2 - 1 окно
Комната 2 - 1 окно
Комната 3 - 1 окно
Комната 4 - 1 окно
Комната 4 - 1 окно
Комната 4 - 1 окно
...
Рейтинг: 0 / 0
Создать массив из повторяющихся элементов
    #36519613
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то вроде
Код: plaintext
1.
2.
3.
4.
5.
6.
i= 1 
do
	cells(i, 1 )=num_room
	cells(i, 2 )= "1 окно"
	i=i+ 1 
	num_window = num_window -  1 
loop util num_window =  1  or num_window =  0 
...
Рейтинг: 0 / 0
Создать массив из повторяющихся элементов
    #36519637
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Option Explicit

Sub arr_primer()
Dim NewArr()
Dim Arr()
Dim x As Integer, y As Integer, i As Integer
Dim tmp As Double

x = - 1 
Arr = Array("Комната 1 - 13 окно", "Комната 2 - 2 окна", "Комната 3 - 10 окна", "Комната 4 - 3 окна")

For i = LBound(Arr) To UBound(Arr)
    tmp = Val(Mid(Arr(i),  13 ,  2 ))
        For y = tmp To  1  Step - 1 
        x = x +  1 
        ReDim Preserve NewArr(x)
        NewArr(x) = Left(Arr(i),  12 ) & "1 окно"
        Next
Next
End Sub

привязываясь к 13-14 символам элемента массива - число окон до 99 включительно!
...
Рейтинг: 0 / 0
Создать массив из повторяющихся элементов
    #36520143
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, вот так попробовать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Option Explicit

Sub arr_primer()

Dim NewArr()
Dim Array_List()
Dim Pos1 As Integer, Pos2 As Integer, i As Integer, j As Integer, x As Integer
Dim Nums As Double

Array_List = Array("Комната 1 - 11 окон", "Комната 2 - 2 окна", "Комната 3 - 1 окно", "Комната 4 - 3 окна")

x = - 1 
For i = LBound(Array_List) To UBound(Array_List)
    Pos1 = InStr( 1 , Array_List(i), "-")
    Pos2 = InStr(Pos1 +  2 , Array_List(i), " ")
    Nums = Val(Mid(Array_List(i), Pos1 +  2 , Pos2 - Pos1 -  2 ))
    For j =  1  To Nums
        x = x +  1 
        ReDim Preserve NewArr(x)
        NewArr(x) = Left(Array_List(i), Pos1 +  1 ) & "окно " & j & " (" & Nums & ")"
    Next
Next

End Sub
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Создать массив из повторяющихся элементов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]