Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Многоуровневый сбор данных с листов - Страница 3 - Мир MS Excel

Старая форма входа
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Многоуровневый сбор данных с листов (Макросы/Sub)
Многоуровневый сбор данных с листов
ZamoK Дата: Понедельник, 01.06.2015, 15:15 | Сообщение № 41
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
Да и еще такая вот ошибка выскакиевает при открытии, в чем может быть дело?


Это файл из поста №37
К сообщению приложен файл: 23041522.xlsm(96Kb)
К сообщению приложен файл: error035760_01.xml (0.6 Kb)


Я не Гуру, но стремлюсь!

Сообщение отредактировал ZamoK - Понедельник, 01.06.2015, 15:31
 
Ответить
СообщениеДа и еще такая вот ошибка выскакиевает при открытии, в чем может быть дело?


Это файл из поста №37
К сообщению приложен файл: 23041522.xlsm(96Kb)

Автор - ZamoK
Дата добавления - 01.06.2015 в 15:15
SLAVICK Дата: Вторник, 02.06.2015, 09:30 | Сообщение № 42
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
, в чем может быть дело?

Скорее всего из-за макроса создающего выпадающий список без пустых значений, расположенного в модуле 1-го листа. ... просто в первых файлах было намного меньше данных - а сейчас больше 2000. <_<
Удалите его и все проверки данных с 1-го листа.

По цвету - добавьте УФ с формулой проверки пустого значения в столбце "Е" и не пустого в "Д" -по правилам форума это уже другой вопрос - другая тема :o

По последнему пункту - нужно менять структуру вложенного цикла - а как тогда выделять какой это подузел какого узла?
Вы должны сначала полностью прописать понятный алгоритм, что как называть и куда вставлять - и показать на примере...
Может гляну когда будет время, может кто - то другой возьмется за "так" переделывать... это же форум hands


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Вторник, 02.06.2015, 09:42
 
Ответить
Сообщение
, в чем может быть дело?

Скорее всего из-за макроса создающего выпадающий список без пустых значений, расположенного в модуле 1-го листа. ... просто в первых файлах было намного меньше данных - а сейчас больше 2000. <_<
Удалите его и все проверки данных с 1-го листа.

По цвету - добавьте УФ с формулой проверки пустого значения в столбце "Е" и не пустого в "Д" -по правилам форума это уже другой вопрос - другая тема :o

По последнему пункту - нужно менять структуру вложенного цикла - а как тогда выделять какой это подузел какого узла?
Вы должны сначала полностью прописать понятный алгоритм, что как называть и куда вставлять - и показать на примере...
Может гляну когда будет время, может кто - то другой возьмется за "так" переделывать... это же форум hands

Автор - SLAVICK
Дата добавления - 02.06.2015 в 09:30
ZamoK Дата: Вторник, 02.06.2015, 10:48 | Сообщение № 43
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
это же форум
что верно, то верно, и на том спасибо :)


Я не Гуру, но стремлюсь!
 
Ответить
Сообщение
это же форум
что верно, то верно, и на том спасибо :)

Автор - ZamoK
Дата добавления - 02.06.2015 в 10:48
krosav4ig Дата: Вторник, 02.06.2015, 13:59 | Сообщение № 44
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ZamoK, список вложенных подузлов в результирующую таблицу выводить обязательно или достаточно вывести агрегированный список деталей со всех уровней вложенности?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеZamoK, список вложенных подузлов в результирующую таблицу выводить обязательно или достаточно вывести агрегированный список деталей со всех уровней вложенности?

Автор - krosav4ig
Дата добавления - 02.06.2015 в 13:59
ZamoK Дата: Вторник, 02.06.2015, 15:48 | Сообщение № 45
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
krosav4ig, я уже незнаю как лучше объяснить, видимо SLAVICK, так и не понял, что конкретно нужно было реализовать, тема то "Многоуровневый сбор данных", а не двух уровневый.
Т.е цикл просмотра такой:
1. Взял первый номер на листе Перечень, ищем на листе Состав узлов в столбце А, переносим на лист Комплект содержимое первого номера;
2. Проверяем перенесенные данные на наличие номера начинающегося на 3 или 6 (т.е. узлы)
2.1 если такие имеются то переносим с листа Состав узлов, то из чего он состоит (как в п.1), для каждого узла (желательно под сам номер) (Принцип Русской МАТРЁШКИ)
2.2 если номер начинающийся на 3 или 6 есть, но на листе Состав узлов в столбце А его нет, то как вариат приклеить такой диалог:
MsgBox("Отсутствует часть данных!!! Продолжить?", vbQuestion + vbYesNo) = vbNo

а/ Да - выделяем цветом и продолжаем цикл.
б/ Нет - перкращаем работу макроса
3. Взял следующий номер на листе Перечень, ищем на листе Состав узлов в столбце А, переносим на лист Комплект, то что содержит позиция,
4. Повторяем п.2 (вот на этом месте гвоздь у SLAVICK, )
5. Повторяем п.3 до первой пустой ячейки.
6. На листе Итог перечень деталей в алфавитном порядке (все повторяющиеся позиции суммированы)

Образцы листов в приложении
К сообщению приложен файл: Odrazetc.xlsm (59.4 Kb)


Я не Гуру, но стремлюсь!
 
Ответить
Сообщениеkrosav4ig, я уже незнаю как лучше объяснить, видимо SLAVICK, так и не понял, что конкретно нужно было реализовать, тема то "Многоуровневый сбор данных", а не двух уровневый.
Т.е цикл просмотра такой:
1. Взял первый номер на листе Перечень, ищем на листе Состав узлов в столбце А, переносим на лист Комплект содержимое первого номера;
2. Проверяем перенесенные данные на наличие номера начинающегося на 3 или 6 (т.е. узлы)
2.1 если такие имеются то переносим с листа Состав узлов, то из чего он состоит (как в п.1), для каждого узла (желательно под сам номер) (Принцип Русской МАТРЁШКИ)
2.2 если номер начинающийся на 3 или 6 есть, но на листе Состав узлов в столбце А его нет, то как вариат приклеить такой диалог:
MsgBox("Отсутствует часть данных!!! Продолжить?", vbQuestion + vbYesNo) = vbNo

а/ Да - выделяем цветом и продолжаем цикл.
б/ Нет - перкращаем работу макроса
3. Взял следующий номер на листе Перечень, ищем на листе Состав узлов в столбце А, переносим на лист Комплект, то что содержит позиция,
4. Повторяем п.2 (вот на этом месте гвоздь у SLAVICK, )
5. Повторяем п.3 до первой пустой ячейки.
6. На листе Итог перечень деталей в алфавитном порядке (все повторяющиеся позиции суммированы)

Образцы листов в приложении

Автор - ZamoK
Дата добавления - 02.06.2015 в 15:48
ZamoK Дата: Вторник, 02.06.2015, 16:08 | Сообщение № 46
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
может кто - то другой возьмется за "так"
P.S. Если Вам помогли и Вы хотите сказать "Спасибо" форумчанину помогшему Вам - нажмите "+" напротив надписи "Репутация" в любом его посте.
:) Материя вторична ! :)


Я не Гуру, но стремлюсь!
 
Ответить
Сообщение
может кто - то другой возьмется за "так"
P.S. Если Вам помогли и Вы хотите сказать "Спасибо" форумчанину помогшему Вам - нажмите "+" напротив надписи "Репутация" в любом его посте.
:) Материя вторична ! :)

Автор - ZamoK
Дата добавления - 02.06.2015 в 16:08
krosav4ig Дата: Вторник, 02.06.2015, 17:40 | Сообщение № 47
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ZamoK, я правильно понял, что нужно в итоге получить список всех строк (со всех уровней вложенности), которые НЕ являются узлами (Т.е не нужно выводить в итоговую таблицу список вложенных узлов, которые были найдены в процессе сбора)?
Если так, то есть решение с помощью Power Query


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеZamoK, я правильно понял, что нужно в итоге получить список всех строк (со всех уровней вложенности), которые НЕ являются узлами (Т.е не нужно выводить в итоговую таблицу список вложенных узлов, которые были найдены в процессе сбора)?
Если так, то есть решение с помощью Power Query

Автор - krosav4ig
Дата добавления - 02.06.2015 в 17:40
ZamoK Дата: Среда, 03.06.2015, 00:16 | Сообщение № 48
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
:D Ну да почти правильно, но не только
которые НЕ являются узлами
но и сами узлы тоже !!! Узлы начинаются на 3 и на 6 т.е. в списке могут и должны присутствовать такие номера как (301524.070, 685544.123, 741121.121 и т.д.)
Лист Состав узлов предположительно будет содержать порядка 25000~30000 строк. %)
с помощью Power Query
- что-то новенькое, скачал установил изучаю :)


Я не Гуру, но стремлюсь!
 
Ответить
Сообщение:D Ну да почти правильно, но не только
которые НЕ являются узлами
но и сами узлы тоже !!! Узлы начинаются на 3 и на 6 т.е. в списке могут и должны присутствовать такие номера как (301524.070, 685544.123, 741121.121 и т.д.)
Лист Состав узлов предположительно будет содержать порядка 25000~30000 строк. %)
с помощью Power Query
- что-то новенькое, скачал установил изучаю :)

Автор - ZamoK
Дата добавления - 03.06.2015 в 00:16
nilem Дата: Среда, 03.06.2015, 08:11 | Сообщение № 49
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
ZamoK, ну а если все же попробовать тот код
К сообщению приложен файл: _Odrazetc.xlsm (55.8 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеZamoK, ну а если все же попробовать тот код

Автор - nilem
Дата добавления - 03.06.2015 в 08:11
ZamoK Дата: Среда, 03.06.2015, 10:04 | Сообщение № 50
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
nilem, Ну да как вариант лист итог получился, я бы добавил
[vba]
Код
With Sheets("Итог")
        .Activate
        .Range("a3:d" & Rows.Count).ClearContents
End With
[/vba]

Жаль что пропал №п/п и лист Комплект думаю можно допилить наверно
с помощью Power Query - что-то новенькое, скачал установил изучаю
че-то я не догоняю как с этим бороться, да и устанавливать придется эту надстройку на всех ПК которые будут открывать файл - не вариант.


Я не Гуру, но стремлюсь!

Сообщение отредактировал ZamoK - Среда, 03.06.2015, 10:09
 
Ответить
Сообщениеnilem, Ну да как вариант лист итог получился, я бы добавил
[vba]
Код
With Sheets("Итог")
        .Activate
        .Range("a3:d" & Rows.Count).ClearContents
End With
[/vba]

Жаль что пропал №п/п и лист Комплект думаю можно допилить наверно
с помощью Power Query - что-то новенькое, скачал установил изучаю
че-то я не догоняю как с этим бороться, да и устанавливать придется эту надстройку на всех ПК которые будут открывать файл - не вариант.

Автор - ZamoK
Дата добавления - 03.06.2015 в 10:04
ZamoK Дата: Среда, 03.06.2015, 16:32 | Сообщение № 51
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
nilem, а столбец наименование нельзя сразу заполнять?


Я не Гуру, но стремлюсь!
 
Ответить
Сообщениеnilem, а столбец наименование нельзя сразу заполнять?

Автор - ZamoK
Дата добавления - 03.06.2015 в 16:32
nilem Дата: Среда, 03.06.2015, 18:56 | Сообщение № 52
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
вот, пробуйте


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевот, пробуйте

Автор - nilem
Дата добавления - 03.06.2015 в 18:56
ZamoK Дата: Четверг, 04.06.2015, 09:21 | Сообщение № 53
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
nilem, все отлично работает. Можно ли пояснить что где происходит в этом коде?


Я не Гуру, но стремлюсь!
 
Ответить
Сообщениеnilem, все отлично работает. Можно ли пояснить что где происходит в этом коде?

Автор - ZamoK
Дата добавления - 04.06.2015 в 09:21
SLAVICK Дата: Четверг, 04.06.2015, 11:11 | Сообщение № 54
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
видимо SLAVICK, так и не понял, что конкретно нужно было реализовать, тема то "Многоуровневый сбор данных", а не двух уровневый

SLAVICK, работал по Вашему алгоритму :o :
4) потом проходим по столбцу В лист «Комплект» и проверяем на наличие не разузлованных узлов находящихся в составе узлов т.е.
a) берём значение ячейки В3 лист Комплект
i) повторяем п.п 1а , 1 б до пустой ячейки
End Sub

И где здесь пункт о возврате к пункту 4 ?
Он появился только в новом алгоритме в 45-м сообщении. %)
В моем коде я показывал не просто набор деталей, а состав главных узлов... т.е. из каких деталей состоят все "Главные узлы".
Мой вопрос был как отображать в такой структуре состав главного узла, если у него н-ное количество вложенности подузлов?
Код nilem, просто отображает набор нужных подузлов и деталей. (в моем коде похожую задачу выполняет процедура "Summ"). Из этого кода нельзя понять что куда относится - если это и не нужно - тогда масса вопросов просто отпадает ввиду их ненадобности hands
и еще Вы раньше указывали? :
Проверяем перенесенные данные на наличие номера начинающегося на 3 или 6 (т.е. узлы)

теперь вы понимаете что хотя:
Материя вторична !

Нет особого желания тратить свое время впустую, зная, что все может поменяться за одно сообщение :'(
Я говорю о том, если Вы хотите получать сразу правильный ответ на вопрос - описывайте сразу правильно все, что Вы хотите увидеть в итоге, и сразу вкладывайте правильные примеры, которые показывают реальную задачу...

А теперь по теме:
Код nilem, идет по всем главным узлам:
[vba]
Код
For i = 1 To UBound(arr)
      Call ertert(d, CStr(arr(i, 1)), arr(i, 3))
Next i
[/vba]
И вызывает внешнюю процедуру заполнения итогового массива данными узлов.
Эта процедура проверяет наличие кода в листе "Состав узлов"
[vba]
Код
Sheets("Состав узлов").Columns(1).Find(t, LookIn:=xlValues, lookat:=xlWhole)
[/vba]
и если не находит выдает сообщение и заканчивает свою работу:
[vba]
Код
If r Is Nothing Then MsgBox "oops: " & t, 48: Exit Sub
[/vba]
Если находит - создает массив из прилегающих значений:
[vba]
Код
x = r.CurrentRegion.Value
[/vba]
И если в словаре уже есть деталь - добавляет данные массива к количеству в итоговом массиве:
[vba]
Код
rez(d.Item(s), 4) = rez(d.Item(s), 4) + x(j, 5) * k
[/vba]
Если это новая деталь - она добавляется в словарь и заполняется итоговый массив новой инфой
Если левый символ = 3 или = 6 процедура вызывает себя же.
[vba]
Код
If Left(s, 1) = 3 Or Left(s, 1) = 6 Then ertert d, s, x(j, 5) * k
[/vba]

Надеюсь Вы теперь понимаете что очень важно сразу самому постараться и составить правильно нужный алгоритм, сформулировать все нужные условия, и архиважно сразу давать пример отображающий всю суть вопроса, и не ждать 45-ть сообщений, чтобы что-то добавить
Тогда Вам будут быстро и качественно помогать решить Вашу задачу yahoo


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Четверг, 04.06.2015, 11:41
 
Ответить
Сообщение
видимо SLAVICK, так и не понял, что конкретно нужно было реализовать, тема то "Многоуровневый сбор данных", а не двух уровневый

SLAVICK, работал по Вашему алгоритму :o :
4) потом проходим по столбцу В лист «Комплект» и проверяем на наличие не разузлованных узлов находящихся в составе узлов т.е.
a) берём значение ячейки В3 лист Комплект
i) повторяем п.п 1а , 1 б до пустой ячейки
End Sub

И где здесь пункт о возврате к пункту 4 ?
Он появился только в новом алгоритме в 45-м сообщении. %)
В моем коде я показывал не просто набор деталей, а состав главных узлов... т.е. из каких деталей состоят все "Главные узлы".
Мой вопрос был как отображать в такой структуре состав главного узла, если у него н-ное количество вложенности подузлов?
Код nilem, просто отображает набор нужных подузлов и деталей. (в моем коде похожую задачу выполняет процедура "Summ"). Из этого кода нельзя понять что куда относится - если это и не нужно - тогда масса вопросов просто отпадает ввиду их ненадобности hands
и еще Вы раньше указывали? :
Проверяем перенесенные данные на наличие номера начинающегося на 3 или 6 (т.е. узлы)

теперь вы понимаете что хотя:
Материя вторична !

Нет особого желания тратить свое время впустую, зная, что все может поменяться за одно сообщение :'(
Я говорю о том, если Вы хотите получать сразу правильный ответ на вопрос - описывайте сразу правильно все, что Вы хотите увидеть в итоге, и сразу вкладывайте правильные примеры, которые показывают реальную задачу...

А теперь по теме:
Код nilem, идет по всем главным узлам:
[vba]
Код
For i = 1 To UBound(arr)
      Call ertert(d, CStr(arr(i, 1)), arr(i, 3))
Next i
[/vba]
И вызывает внешнюю процедуру заполнения итогового массива данными узлов.
Эта процедура проверяет наличие кода в листе "Состав узлов"
[vba]
Код
Sheets("Состав узлов").Columns(1).Find(t, LookIn:=xlValues, lookat:=xlWhole)
[/vba]
и если не находит выдает сообщение и заканчивает свою работу:
[vba]
Код
If r Is Nothing Then MsgBox "oops: " & t, 48: Exit Sub
[/vba]
Если находит - создает массив из прилегающих значений:
[vba]
Код
x = r.CurrentRegion.Value
[/vba]
И если в словаре уже есть деталь - добавляет данные массива к количеству в итоговом массиве:
[vba]
Код
rez(d.Item(s), 4) = rez(d.Item(s), 4) + x(j, 5) * k
[/vba]
Если это новая деталь - она добавляется в словарь и заполняется итоговый массив новой инфой
Если левый символ = 3 или = 6 процедура вызывает себя же.
[vba]
Код
If Left(s, 1) = 3 Or Left(s, 1) = 6 Then ertert d, s, x(j, 5) * k
[/vba]

Надеюсь Вы теперь понимаете что очень важно сразу самому постараться и составить правильно нужный алгоритм, сформулировать все нужные условия, и архиважно сразу давать пример отображающий всю суть вопроса, и не ждать 45-ть сообщений, чтобы что-то добавить
Тогда Вам будут быстро и качественно помогать решить Вашу задачу yahoo

Автор - SLAVICK
Дата добавления - 04.06.2015 в 11:11
ZamoK Дата: Четверг, 04.06.2015, 13:29 | Сообщение № 55
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
работал по Вашему алгоритму :
Согласен, не до конца выразил мысль :( .
В моем коде я показывал не просто набор деталей, а состав главных узлов... т.е. из каких деталей состоят все "Главные узлы".
Я же уже пислал, что
Жаль что пропал №п/п и лист Комплект
Мой вопрос был как отображать в такой структуре состав главного узла, если у него н-ное количество вложенности подузлов?
на этот вопрос ответ во вложении все того же сообщения №45, видимо только к 45 сообщению в процессе формирования нарисовался более приемлемый вид этого документа.
На самом деле я даже предположить не мог, что excel может так собирать и отображать такого рода информацию.


Я не Гуру, но стремлюсь!

Сообщение отредактировал ZamoK - Четверг, 04.06.2015, 13:31
 
Ответить
Сообщение
работал по Вашему алгоритму :
Согласен, не до конца выразил мысль :( .
В моем коде я показывал не просто набор деталей, а состав главных узлов... т.е. из каких деталей состоят все "Главные узлы".
Я же уже пислал, что
Жаль что пропал №п/п и лист Комплект
Мой вопрос был как отображать в такой структуре состав главного узла, если у него н-ное количество вложенности подузлов?
на этот вопрос ответ во вложении все того же сообщения №45, видимо только к 45 сообщению в процессе формирования нарисовался более приемлемый вид этого документа.
На самом деле я даже предположить не мог, что excel может так собирать и отображать такого рода информацию.

Автор - ZamoK
Дата добавления - 04.06.2015 в 13:29
nilem Дата: Четверг, 04.06.2015, 14:28 | Сообщение № 56
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
nilem, все отлично работает. Можно ли пояснить что где происходит в этом коде?

SLAVICK, спасибо, что ответили на вопрос. Теперь даже я понял :)
[offtop]Вообще, нравится, когда вот так вот происходит: без эмоций, без лишних слов и по делу. Наверное, потому что это Лучший форум
:)[/offtop]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение
nilem, все отлично работает. Можно ли пояснить что где происходит в этом коде?

SLAVICK, спасибо, что ответили на вопрос. Теперь даже я понял :)
[offtop]Вообще, нравится, когда вот так вот происходит: без эмоций, без лишних слов и по делу. Наверное, потому что это Лучший форум
:)[/offtop]

Автор - nilem
Дата добавления - 04.06.2015 в 14:28
SLAVICK Дата: Четверг, 04.06.2015, 14:58 | Сообщение № 57
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
видимо только к 45 сообщению в процессе формирования нарисовался более приемлемый вид этого документа.

Я с вами не согласен - визуально это может быть приемлемо только для маленьких "разузловований"
А теперь представьте что у вас 10 подузлов, каждый из которых также раскрываются до 15 - го уровня %)

А теперь со стороны написания макроса - такая раскраска потребует существенных доработок макроса... что ввиду вышеописанного сведет на нет пользу от нее.

Практического применения от такого массива тоже не будет, поскольку все эти детали будут "Числится" за главным узлом.
Поэтому лично я за такое браться не хочу B)

off_top
это Лучший форум
:)


booze


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Четверг, 04.06.2015, 14:59
 
Ответить
Сообщение
видимо только к 45 сообщению в процессе формирования нарисовался более приемлемый вид этого документа.

Я с вами не согласен - визуально это может быть приемлемо только для маленьких "разузловований"
А теперь представьте что у вас 10 подузлов, каждый из которых также раскрываются до 15 - го уровня %)

А теперь со стороны написания макроса - такая раскраска потребует существенных доработок макроса... что ввиду вышеописанного сведет на нет пользу от нее.

Практического применения от такого массива тоже не будет, поскольку все эти детали будут "Числится" за главным узлом.
Поэтому лично я за такое браться не хочу B)

off_top
это Лучший форум
:)


booze

Автор - SLAVICK
Дата добавления - 04.06.2015 в 14:58
ZamoK Дата: Четверг, 04.06.2015, 15:17 | Сообщение № 58
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
такая раскраска потребует существенных доработок макроса...
А раскраска вовсе и не нужна, раскрасил только для того чтоб было понятно что к чему относится, какой порядок построения данных.
Нужны только данные, только информация!!! А подсветить просил только те узлы в которых были проблемы
а/ Да - выделяем цветом и продолжаем цикл.

А теперь представьте что у вас 10 подузлов, каждый из которых также раскрываются до 15 - го уровня
На самом деле картина у меня много страшнее, иначе зачем бы я тут людей беспокоил.


Я не Гуру, но стремлюсь!

Сообщение отредактировал ZamoK - Четверг, 04.06.2015, 15:24
 
Ответить
Сообщение
такая раскраска потребует существенных доработок макроса...
А раскраска вовсе и не нужна, раскрасил только для того чтоб было понятно что к чему относится, какой порядок построения данных.
Нужны только данные, только информация!!! А подсветить просил только те узлы в которых были проблемы
а/ Да - выделяем цветом и продолжаем цикл.

А теперь представьте что у вас 10 подузлов, каждый из которых также раскрываются до 15 - го уровня
На самом деле картина у меня много страшнее, иначе зачем бы я тут людей беспокоил.

Автор - ZamoK
Дата добавления - 04.06.2015 в 15:17
ZamoK Дата: Четверг, 09.07.2015, 12:28 | Сообщение № 59
Группа: Проверенные
Ранг: Обитатель
Сообщений: 268
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
Если это новая деталь - она добавляется в словарь и заполняется итоговый массив новой инфой Если левый символ = 3 или = 6 процедура вызывает себя же.
If Left(s, 1) = 3 Or Left(s, 1) = 6 Then ertert d, s, x(j, 5) * k

А как добавить к 3 и 6 буквенный индекс например "ВГ"
К сообщению приложен файл: Obraz.xlsm (79.8 Kb)


Я не Гуру, но стремлюсь!
 
Ответить
Сообщение
Если это новая деталь - она добавляется в словарь и заполняется итоговый массив новой инфой Если левый символ = 3 или = 6 процедура вызывает себя же.
If Left(s, 1) = 3 Or Left(s, 1) = 6 Then ertert d, s, x(j, 5) * k

А как добавить к 3 и 6 буквенный индекс например "ВГ"

Автор - ZamoK
Дата добавления - 09.07.2015 в 12:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Многоуровневый сбор данных с листов (Макросы/Sub)
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!