|
|
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
Добрый день. Вопрос такой, есть таблица с группировками. Всего 3 уровня(но количество уровней может меняться). Необходимо узнать всех родителей определенной строки, в которой пользователь изменил значение. Проблема состоит в определении всех верхних уровней группировки. Уровень1------------------Получить ________Уровень2 ___________Уровень3 ___________Уровень3 ___________Уровень3 ________Уровень2---------Получить ___________Уровень3 ___________Уровень3------Изменяем Уровень1 ________Уровень2 ___________Уровень3 Если пользователь изменит 3 уровень, то мне необходимо получить номера строк Уровень2 и Уровень1. Это необходимо для пересчета итогов по уровню. Можно это было сделать формулами, но этот вариант у меня запасной. -------------------------------------------------------------- Мой первый сайт сайт developers.do.am ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2011, 05:34 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
Все это с помощью VBA необходимо сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2011, 05:55 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
1) Дайте образец самого файла (или кода, создающего ваш "список с группировкой"). 2) Определитесь, _для чего_ вам нужно определить последовательность "родителей". Если задача только в том, чтобы, например, пересчитать суммы в вышестоящих объединяющих строках - то вы выбрали совершенно "череззадничный" путь решения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 01:53 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
AndreTM1) Дайте образец самого файла (или кода, создающего ваш "список с группировкой"). 2) Определитесь, _для чего_ вам нужно определить последовательность "родителей". Если задача только в том, чтобы, например, пересчитать суммы в вышестоящих объединяющих строках - то вы выбрали совершенно "череззадничный" путь решения... 1. Пример файла приведен в вопросе, файл слишком громоздкий, вычищать его тяжко, а показывать такой какой он есть - лишнее захламление. 2. Вполне возможно что и череззадничный, но это не ТОЛЬКО для расчета итогов по одной колонке, а еще и не тривиальная формула. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 04:17 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
Вот пример файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 06:07 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
О, нечто мы увидели... Вы сами группировку делаете, или этот файл уже сгруппирован? Это я к чему - если вы сами создавали группировку, то у вас были и уровни вложения - вот их оставить в отдельном столбце и пользовать потом для поиска "родителей". Что касается моего замечания о "пути решения" - так именно это и есть тот самый "непраздный вопрос", от которого надо начинать плясать. Ведь, с одной стороны, если вы не будете ставить формулы для вычисления сумм, то сэкономите на объеме файла. С другой же, можете проиграть в быстродействии, поскольку макросы будут вызываться "при любом чихе", надо будет встраивать анализ положения изменения, пользовать нелетучие описания собственных функций... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 06:46 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
Этот файл выгружается из 1с, я уже пробовал сам создавать подобный файл, т.е. выгружать в Excel самостоятельно, но это слишком долго. Поэтому у меня файл выгружается из 1с, а затем я его обрабатываю макросами самостоятельно. Поэтому вариант с запоминанием родителя не прокатывает. Хотя можно подумать над этим. Как я понимаю стандартными средствами не получится получить родителей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 06:54 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
Романыч84 Поэтому у меня файл выгружается из 1с, а затем я его обрабатываю макросами самостоятельно. ? Выгружаю его средствами 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 07:08 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
Почему не получится? Для программистов нет ничего невозможного... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Строка lcLev - список номеров строк (включая строку, где изменилось значение). Разбейте её, например, с помощью Split() , и обращайтесь по индексам... можете собирать её сразу в обратном порядке, если надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 07:43 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
Спасибо, я думал есть свойство, а перебором я знаю как сделать. Но все равно спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 07:53 |
|
||
|
Найти все верхние уровни группировок, куда входит определенная строка
|
|||
|---|---|---|---|
|
#18+
Так я про что и спрашивал... Можно ведь _один_ раз пройти по списку и заполнить столбец с уровнем группировки. Вернее, со списком уровней-родителей. И пользоваться затем значениями, подставляя в СУММ(ЕСЛИ... в объединяющих ячейках. Сразу заполнить в объединяющих ячейках формулы с явными СУММ() или "+" вряд ли получится безгеморно, если предполагается добавлять/удалять строки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 08:22 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=113&tid=2176176]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 319ms |

| 0 / 0 |
