powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Преобразование столбца данных в матрицу
4 сообщений из 4, страница 1 из 1
Преобразование столбца данных в матрицу
    #34817598
Oleg_Slip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день! Имеется одномерный набор данных, например:
02-006
02-013
02-059
02-102
02-182
02-192
02-252
02-279
02-288
02-371
02-403
02-590
* 02-614
02-614
Надо разместить его на листе в 3-х столбцах таким образом:
02-006 02-182 02-288 02-590
02-013 02-192 02-371 * 02-614
02-059 02-252 02-403 02-614
02-102 02-279
Есть ли в Excel-е встроенный метод, способный сделать это?
...
Рейтинг: 0 / 0
Преобразование столбца данных в матрицу
    #34818034
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а логика то какая в таком разбиении?
...
Рейтинг: 0 / 0
Преобразование столбца данных в матрицу
    #34818344
Oleg_Slip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
udgeen69а логика то какая в таком разбиении?
Из базы выбирается одно поле - заказы для исполнителей. Количество заказов по каждому исполнителю от 10 до 500. Для каждого исполнителя данные размещаются в 15 колонках. Вот.
Я программно расчитываю количество строк для каждого исполнителя и вывожу данные. Хотелось бы узнать есть ли встроенные методы для решения этой задачи чтобы не изобретать велосипед.
...
Рейтинг: 0 / 0
Преобразование столбца данных в матрицу
    #34819277
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай примерчик, вдруг пригодится
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Sub Test()
Dim myArr() As Variant, myRng As Range
Dim iCol As Range, iRow As Range
Dim x As Long, y As Long, z As Long, i As Long
' сколько столбцов
 z =  15 
 
 myArr() = Selection.Value ' тут ваше заполнение массива
 
 x = Fix(UBound(myArr) / z)
 y = UBound(myArr) Mod z
 If y >  0  Then x = x +  1  Else: y = z
    
 With Range("A1")
  Set myRng = .Resize(x, y)
  If x >  1  Then Set myRng = Union(myRng, .Offset(, y).Resize(x -  1 , z - y))
  End With


 For Each iCol In myRng.Columns
  For Each iRow In iCol.Rows
   i = i +  1 
   iRow.Value = myArr(i,  1 ) ' возможно обращение к массиву будет джругим
   Next
 Next
 
End Sub
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Преобразование столбца данных в матрицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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