Страницы: 1
RSS
Формирование таблицы используя массив
 
Здравствуйте, Уважаемые программисты

Во вложении файл для примера содержащий массив. В реале массив намного больше.

Передо мной стоит задача: Используя массив, выбирая из него некоторое количество строк - подставлять эти строки в итоговый отчёт. Не копированием, а автоматом.

Дополнительные условия:
1. Массив может редактироваться и могут добавляться новые строки/продукты.
2. Последовательность строк в итоговой таблице должна выбираться конечным пользователем т.е. если например были выбраны КИВИ, ЯБЛОКИ, МЫЛО, то первым в отчёте должно быть мыло, киви, яблоки сверху вниз. (но это только если возможно).
3. Количество строк в итоговом отчёте минимум 5, максимум x (икс)

Спасибо.
 
>>> Не копированием, а автоматом...
Вы в файле-примере покажите итог того, что должно получиться, плз.
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР.
 
Думал часть программы организовать можно так:
1. Выбираем мыло, нажали на "чудо кнопку" <вставить> и программа всю строку вставляет в итоговый отчёт. После вставки выделение с мыла снимается для того чтоб выбрать другую строку.
2. Почти как первое, но на каждой строке массива кнопка которая вставляет эту строку последовательно в итоговый отчёт.

Простите забыл, так же в итоге нужно пронумеровать строки в итоговом отчёте как показано в примере

Повторюсь: Это файл для примера. На самом деле там будут другие данные для которых очень важна последовательность. Что то вроде будет похоже на карту ремонта оборудования - последовательность. Шагов великое множество.  
Изменено: Evgen_r - 17.03.2016 14:53:45
 
Макросом по правой кнопке мыши можно сделать
 
типа такого:
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim nm, nam, Optns
nam = "Добавить в Отчёт"
On Error Resume Next
If Not Application.Intersect(Range("A1:B20"), Target) Is Nothing Then
    Set Optns = Application.CommandBars("Cell").Controls.Add(Type:=msoControlButton, before:=1)
    Optns.Caption = nam
    Optns.OnAction = "нужный_макрос"
    Optns.FaceId = 123 'цихерка меняет картинку. поиграться можно
    DoEvents
Else
    Application.CommandBars("Cell").Reset
End If
End Sub

"нужный_макрос" = ваша процедура добавления данных в итоговый отчёт
"A1:B20" - регион когда появляется свой пункт
Изменено: Александр Моторин - 17.03.2016 15:44:08
 
Кросс:
http://www.excelworld.ru/forum/10-22186-1
Я сам - дурнее всякого примера! ...
 
Спасибо. Буду пробовать. Отпишусь об итогах.
Страницы: 1
Наверх