Страницы: 1 2 След.
RSS
Скрыть нулевые строки нажатием кнопки
 
Добрый час уважаемые!  
 
Как видно из темы, необходимо с помощью макроса реализовать возможность скрывать/открывать строки, по которым в определенном столбце значение равно "0" нажатием кнопки.  
Тем по данной проблеме нашел несколько, но вот в VBA я весьма не селен и банально перенести код из одной книги в другую не выходит.  
Очень прошу помощи в как можно более подробном объяснении как перенести код из одной книги в другую и естественно подстроить его под мою книгу.  
 
Для примера выкладываю файл.
 
{quote}{login=saint944}{date=28.09.2011 09:12}{thema=Скрыть нулевые строки нажатием кнопки}{post}Добрый час уважаемые!  
 
Как видно из темы, необходимо с помощью макроса реализовать возможность скрывать/открывать строки, по которым в определенном столбце значение равно "0" нажатием кнопки.  
 
Dim i As Integer  
i = 8  
While Sheets("Лист1").Cells(i, 7).Value <> ""  
   If Sheets("Лист1").Cells(i, 7).Value = 0 Then  
       Sheets("Лист1").Rows(i).RowHeight = 0  
   End If  
   i = i + 1  
Wend  
'тоже что и выше, только  
Sheets("Лист1").Rows(i).RowHeight = 12  
'откроет их
 
если хочется нюансов, пишите
 
так?
 
Sub www()  
If ActiveSheet.AutoFilterMode = 0 Then  
   ActiveSheet.UsedRange.Columns(3).AutoFilter Field:=1, Criteria1:="<>0", VisibleDropDown:=False  
Exit Sub: End If: ActiveSheet.AutoFilterMode = 0  
End Sub
Я сам - дурнее всякого примера! ...
 
Спасибо громаднейшее всем!  
 
Два примера с вложениями работают именно так как нужно!!! Проблема в следующем, где в приведенном коде я могу изменить номер столбца для действия макроса? Уважаемый KukLP, дело в том что в книге 2 листа и на одном листе нужный столбец №7, а на другом №3, кнопка необходима на каждом листе. На первом я сделал...
 
Пример давайте. С реальным расположением. Может ничего менять и не надо.
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=29.09.2011 09:13}{thema=}{post}Пример давайте. С реальным расположением. Может ничего менять и не надо.{/post}{/quote}  
 
Выслал. Только еще желательно, чтобы надпись на кнопке менялась на "скрыть"/"отобразить" в соответствующих положениях. Но это не обязательно ))
 
Sub www()  
   Dim c As Range  
   With ActiveSheet  
       Set c = .[14:15].Find("руб. с НДС")
       If .AutoFilterMode = 0 Then  
       .DrawingObjects(Application.Caller).Text = "Отобразить"  
           .UsedRange.Columns(c.Column).AutoFilter Field:=1, Criteria1:="<>0", VisibleDropDown:=False  
           Exit Sub: End If: .AutoFilterMode = 0  
       .DrawingObjects(Application.Caller).Text = "Скрыть"  
   End With  
End Sub
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=29.09.2011 10:03}{thema=}{post}Sub www()  
   Dim c As Range  
   With ActiveSheet  
       Set c = .[14:15].Find("руб. с НДС")
       If .AutoFilterMode = 0 Then  
       .DrawingObjects(Application.Caller).Text = "Отобразить"  
           .UsedRange.Columns(c.Column).AutoFilter Field:=1, Criteria1:="<>0", VisibleDropDown:=False  
           Exit Sub: End If: .AutoFilterMode = 0  
       .DrawingObjects(Application.Caller).Text = "Скрыть"  
   End With  
End Sub{/post}{/quote}  
Первый лист по прежнему работает замечательно, а вот во втором макрос скрывает только значения 0 и то как-то не всегда.
 
Это кто писал:"возможность скрывать/открывать строки, по которым в определенном столбце значение равно "0" нажатием кнопки."?
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=29.09.2011 10:33}{thema=}{post}Это кто писал:"возможность скрывать/открывать строки, по которым в определенном столбце значение равно "0" нажатием кнопки."?{/post}{/quote}  
 
Да, приношу свои извинения, вопрос задал не точно. На втором листе, т.к. в нужном столбце нет формулы, необходимо скрывать не только значения "0", но и пустые, но так что бы макрос не действовал за пределами таблицы и в то же время если в таблицу будут добавляться строки он захватывал и их.
 
{quote}{login=saint944}{date=29.09.2011 10:39}{thema=Re: }{post}{quote}{login=KukLP}{date=29.09.2011 10:33}{thema=}{post}Это кто писал:"возможность скрывать/открывать строки, по которым в определенном столбце значение равно "0" нажатием кнопки."?{/post}{/quote}  
 
Да, приношу свои извинения, вопрос задал не точно..{/post}{/quote}  
 
Если так сделать сложно, то может предложите что я могу доработать в плане формул, что бы макрос работал нормально?
 
28833
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=29.09.2011 11:28}{thema=}{post}28833{/post}{/quote}  
 
Очень благодарен!!! Все работает!!!  
 
Спасибо большое всем, вы настоящие профи! ))
 
{quote}{login=KukLP}{date=29.09.2011 11:28}{thema=}{post}28833{/post}{/quote}  
 
Прошу прощения, но еще возник один нюанс. Необходимо обеспечить работу Вашего макроса в режиме защиты листа.
 
{quote}{login=}{date=29.09.2011 02:55}{thema=Re: }{post}{quote}{login=KukLP}{date=29.09.2011 11:28}{thema=}{post}28833{/post}{/quote}  
 
Прошу прощения, но еще возник один нюанс. Необходимо обеспечить работу Вашего макроса в режиме защиты листа.{/post}{/quote}  
получилось только с первым листом, со вторым не могу разобраться.
 
AKSENOV048, поскольку не отвечаю анонимам, покажу Вам(кстати, похвальны Ваши попытки помогать другим, отношение к Вам меняется). Ваш код не трогал, по примеру сообразите.
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=30.09.2011 02:30}{thema=}{post}... поскольку не отвечаю анонимам{/post}{/quote}  
Сергей, здравствуйте!  
 
Воспитательный процесс, понимаю.  
Шутки ради, может, заодно игнорировать и темы, в которых анонимно отвечают? :-)  
Ведь анонимных помощников здесь, наверное, больше, особенно иронизирующих.  
Но таковы ведь законы форума: анонимность не запрещена ни движком, ни правилами, разве что личными принципами, которые тоже не запрещены :-)  
 
Сознательная анонимность - это уровень личной культуры, который создает некоторые проблемы в общении, потому что:  
а) мешает понять, кто кому отвечает в теме, особенно когда не подписываются несколько человек;  
б) после анонимных насмешек «помогающих» встревать неприятно, так как анонимные высказывания новички форума могут ассоциировать и с тобой.  
 
В данном же случае, нет никаких сомнений, что это был автор темы, который, наверное, просто забыл залогиниться или разлогинился по времени, т.к. «прошу прощения, но _еще_ возник один нюанс» и очень учтивое «…Вашего макроса …».  
И нет никаких сомнений, что, несмотря на принципы, Вы таки помогли ему еще раз :-)  
 
С уважением,  
ZVI
 
Здравствуйте, Владимир. Со многим из Вашего поста согласен. Но принцип... В моем понимании, если человек обращается за помощью, даже не представившись(или ТЫкая незнакомым людям) - это как минимум невежливо. Или еще вариант: "Есть задача... спасибо!". Авторешалка? Часто бывает, что анонимы просто хамят ТС, или форумчанам.Я не зову никого на баррикады, просто выказываю СВОЕ отношение к такому.    
А по поводу отвечающих анонимов - совсем другой подход. Скажем, Павел55 этим грешит(л). Тут я могу не отвечая Павлу сохранять уважение к нему.Или к любому другому анониму, демонстрирующему свой профессионализм, но по каким-то причинам не желающему представиться. Правда путаница иногда возникает, если таких отвечающих больше одного:-) Да ладно, Владимир, Вы не далее как сегодня, не залогинившись, тут же представились. Значит и у Вас что-то подобное в подкорке шевельнулось?:-)
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=30.09.2011 04:14}{thema=}{post}... Вы не далее как сегодня, не залогинившись, тут же представились. Значит и у Вас что-то подобное в подкорке шевельнулось?:-){/post}{/quote}  
Да, всегда идентифицируюсь, чтобы никого не подставлять и не вносить путаницы, о которой написал выше.  
Но уважаю и тех, кто не залогинился - отвечаю беспринципно, если знаю, что :-)  
Т.е. требование логиниться у меня только к себе, такой себе полупринцип ;-)
 
Владимир, если есть желание, напишите мне(адрес в подписи). С удовольствием с Вами пообщаюсь. Тут уже боюсь испытывать терпение модеров:-)    
Сергей.
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=30.09.2011 02:30}{thema=}{post}AKSENOV048, поскольку не отвечаю анонимам, покажу Вам(кстати, похвальны Ваши попытки помогать другим, отношение к Вам меняется). Ваш код не трогал, по примеру сообразите.{/post}{/quote}  
 
KukLP, Добрый день! Еще раз хочу сказать спасибо за Ваши труды, теперь второй лист идеально практически работает и в режиме защиты листа тоже, а вот с первым "ТМЦ" проблема заключается в том, что когда я защищаю лист с необходимыми параметрами на разрешение (такие как "выделение забл.ячеек", "выделение незабл.ячеек", "форматирование столбцов, строк", "вставку строк"), то все ОК. Однако при переоткрытии файла ве настроки разрешений сбрасываются как я понимаю. На втором листе такой проблемы нет.
 
{quote}{login=KukLP}{date=30.09.2011 02:30}{thema=}{post}AKSENOV048, поскольку не отвечаю анонимам, покажу Вам(кстати, похвальны Ваши попытки помогать другим, отношение к Вам меняется). Ваш код не трогал, по примеру сообразите.{/post}{/quote}  
KukLP, доброго времени суток! Я в действительности новичек на данном форуме, и на форумах как таковых. Если уж чем обидел - приношу свои искринние извинения. ZVI действительно прав, иногда не смотрю на статус, а система разлогинивает через определенное время.  
Спасибо за понимание.
 
{quote}{login=}{date=30.09.2011 08:00}{thema=Re: }{post}{quote}{login=KukLP}{date=30.09.2011 02:30}{thema=}{post}AKSENOV048, поскольку не отвечаю анонимам, покажу Вам(кстати, похвальны Ваши попытки помогать другим, отношение к Вам меняется). Ваш код не трогал, по примеру сообразите.{/post}{/quote}  
 
KukLP, Добрый день! Еще раз хочу сказать спасибо за Ваши труды, теперь второй лист идеально практически работает и в режиме защиты листа тоже, а вот с первым "ТМЦ" проблема заключается в том, что когда я защищаю лист с необходимыми параметрами на разрешение (такие как "выделение забл.ячеек", "выделение незабл.ячеек", "форматирование столбцов, строк", "вставку строк"), то все ОК. Однако при переоткрытии файла ве настроки разрешений сбрасываются как я понимаю. На втором листе такой проблемы нет.{/post}{/quote}  
 
Сергей, поможете в очередной раз добить до конца задачку?
 
saint944, помимо того, что Ваши условия без конца меняются, Ваше отношение к форуму ну ОЧЕНЬ потребительское. Чего(в том числе) не люблю ни я, ни многие мои друзья форумчане. Тот же AKSENOV048 сполна ощутил это на себе. Сейчас вижу совсем другой(достойный уважения) его подход к форуму. Ну посудите сами, кто Вам не давал хоть записать макрорекордером защиту одного, потом другого листа. А потом уж попросить - ребята, как мне это присобачить к вашим потугам помочь мне. Этот лист надо так, а другой вот так. Вместо этого видим только, как Вы последовательно меняете условия. Если бы мы получали зарплату за это, не на что было бы пенять(ну работа такая!). А в нашем случае... Давайте подождем AKSENOV048. Хочу дать ему возможность проявить себя.  
И про макрорекордер не забудьте. Гадать ему, что-ли...
Я сам - дурнее всякого примера! ...
 
{quote}{login=KukLP}{date=30.09.2011 09:30}{thema=}{post}saint944, помимо того, что Ваши условия без конца меняются........  
И про макрорекордер не забудьте. Гадать ему, что-ли...{/post}{/quote}  
 
Учел замечание про макрорекордер. Посмотрите, так нужно? Я включил запись и последовательно в обоих листах задал необходимые параметры защиты листа.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
{quote}{login=saint944}{date=30.09.2011 10:10}{thema=Re: }{post}{quote}{login=KukLP}{date=30.09.2011 09:30}{thema=}{post}{/post}{/quote}Учел замечание про макрорекордер. {/post}{/quote}И моё замечание учтите: ознакомьтесь с Правилами нашего Форума.
 
{quote}{login=saint944}{date=30.09.2011 10:10}{thema=Re: }{post}{quote}{login=KukLP}{date=30.09.2011 09:30}{thema=}{post}saint944, помимо того, что Ваши условия без конца меняются........  
И про макрорекордер не забудьте. Гадать ему, что-ли...{/post}{/quote}  
 
Учел замечание про макрорекордер. Посмотрите, так нужно? Я включил запись и последовательно в обоих листах задал необходимые параметры защиты листа.
 
{quote}{login=Юрий М}{date=30.09.2011 01:02}{thema=Re: Re: }{post}{quote}{login=saint944}{date=30.09.2011 10:10}{thema=Re: }{post}{quote}{login=KukLP}{date=30.09.2011 09:30}{thema=}{post}{/post}{/quote}Учел замечание про макрорекордер. {/post}{/quote}И моё замечание учтите: ознакомьтесь с Правилами нашего Форума.{/post}{/quote}  
 
Учел, спасибо за понимание.
Страницы: 1 2 След.
Читают тему
Наверх