|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - Можно ли удалить ненужные слои структуры? |
|
|
2010 - Можно ли удалить ненужные слои структуры?
|
Старожил Сообщения: 390 |
Возникла проблема, что файл Excel представляет собой структуру в три уровня, раскрывающуюся плюсиками.
Но нужно перемножить два столбца только верхнего уровня с результатом в третьем столбце, так чтобы находящееся в этих двух столбцах в скрытых слоях структуры не участвовало в определении суммы по третьему столбцу. Но получается, что перемножаются все слои структуры в этих двух столбцах и сумма вычисляется не по видимому верхнему слою структуры, а по всем уровням. Если удалять структуру имеющейся кнопкой на вкладке Данные, то строки из нижних уровней структуры просто встанут между строками верхнего уровня, мешая. Можно ли удалить данные только отдельных слоев структуры, хотя чтоб пустые строки остались? |
|
Отправлено: 00:36, 30-07-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать pavsem7, образец Рабочей книги с примерами и наглядными пояснениями приветствуется.
|
Отправлено: 06:20, 30-07-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 390
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Строк в книге много, несколько тысяч, поэтому вручную ничего не получится. Видно, что колонка Стоимость, которая должна быть произведением Цены на КонРезерв посчитана по разным товарам неправильно, некоторые клетки вообще пустые, в 15-ой строке результат завышен и т.п. Подсчет результата(итога) по колонке Стоимость нужен только по верхнему слою, а спрятанные слои под крестиками, т.е., например, строки 16, 17, 19,20,21,23,24 и т.д. не должны давать слагаемых в эту сумму. Если же просто перемножить столбцы Цена и КонРезерв, то эти спрятанные строки дают слагаемые, сумма по товарам получается завышенной. Цель - удалить нижние слои из книги, т.е. те самые спрятанные строки. Тогда итог стоимости правильно посчитается. |
|
Отправлено: 14:45, 30-07-2016 | #3 |
Модератор Сообщения: 16853
|
Профиль | Сайт | Отправить PM | Цитировать pavsem7, а нельзя ли то же, но с формулами?
|
------- Отправлено: 23:15, 30-07-2016 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Достаточно странная организация структуры…
Вы уверены, что речь про первый уровень структуры? Там ровно две строки, и обе с пустым содержимым в искомых ячейках. Вот для второго уровня структуры: Option Explicit Sub Sample() Dim objRange As Range For Each objRange In ThisWorkbook.Worksheets.Item("TDSheet").Range("G6:G117").Cells Debug.Print objRange.Address, objRange.Rows.Item(1).OutlineLevel If objRange.Rows.Item(1).OutlineLevel = 2 Then objRange.Value = objRange.Offset(0, -2).Value * objRange.Offset(0, -1).Value Else objRange.ClearContents End If Next End Sub Это то, что Вы хотели? Главный вопрос — в определении размеров диапазона (в примере — «G6:G117») на реальных данных, «ручками» ведь не будете задавать всякий раз. На что можем ориентироваться? Цитата okshef:
|
||
Отправлено: 02:16, 31-07-2016 | #5 |
Старожил Сообщения: 390
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Почему Вы называете лист TDSheet? Цитата Iska:
А результат начальству быстрее нужен. У меня попутный вопрос по применению: я записал Вашу процедуру в макрос и запустил, при этом файл надо сохранять как xlsm. Но можно ли запускать этот макрос-процедуру внешним образом, чтоб просто обрабатывать файл xlsx, а внутри процедура не хранилась? |
||
Последний раз редактировалось pavsem7, 31-07-2016 в 11:42. Отправлено: 11:27, 31-07-2016 | #6 |
Модератор Сообщения: 16853
|
Профиль | Сайт | Отправить PM | Цитировать Цитата pavsem7:
|
|
------- Отправлено: 14:18, 31-07-2016 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата pavsem7:
![]() (когда курсор мышки примет двунаправленную форму) и тяните его вправо — сами увидите. Цитата pavsem7:
![]() Цитата pavsem7:
Цитата pavsem7:
Цитата pavsem7:
|
|||||
Отправлено: 18:53, 31-07-2016 | #8 |
Старожил Сообщения: 390
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Цитата Iska:
|
|||
Отправлено: 15:42, 03-08-2016 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата pavsem7:
Цитата pavsem7:
Цитата pavsem7:
Цитата pavsem7:
|
||||
Отправлено: 18:50, 03-08-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Можно ли удалить файлы | Drony | Microsoft Windows NT/2000/2003 | 5 | 31-01-2012 20:46 | |
Можно ли убрать ненужные драйвера из TXT-режима? | Wanderer-1000 | Автоматическая установка Windows 2000/XP/2003 | 3 | 02-05-2011 19:06 | |
Разное - Удалить ненужные обновления | alexra | Microsoft Windows 2000/XP | 0 | 17-04-2011 22:58 | |
[решено] WSUS - можно ли настроить без доменной структуры? | zenches | WSUS | 30 | 22-03-2009 10:26 | |
Можно ли удалить?! | sleider | Программное обеспечение Windows | 6 | 14-12-2006 07:16 |
|