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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос "Скрыть строки в пределах определенного раздела" - Страница 2 - Мир MS Excel

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

Excel 2010
Alex_ST, Вы злитесь, это плохо.
Я четко описала условия и приложила свою таблицу, которая, состоит из ТРЕХ разделов. И в последнем разделе (окрашен жёлтой заливкой) ячейки не могут быть объедены, так как показатели формируются на основании выше внесенных данных, по каждому столбцу (т.е. цифры есть в каждой ячейке).
Т.е. "цветовая дифференциация штанов" .... Вам уже не нужны?

Я про нее написала:
Но хотелось бы макрос не привязывать к цвету (заливке),

И судя по Вашему макросу не нужно даже автоматическое определение границ обрабатываемого диапазона

А разве здесь не задается диапазон? С 24 строки по 31 строку?
Alex_ST, не обижайтесь, сторожилы форума зря зачастую обвиняют новичков в том, что они не правильно излагают свои вопросы и просьбы, и не внимательно читают ответы. В моем вопросе все было достаточно четко изложено и описано в приложенных файлах. Видимо мы видим результат каждый по своему.
Последний вариант работает (СПАСИБО). Не злитесь, скажите как перечислить все диапазоны строк, чтобы не делать на каждый отдельный макрос? :)
[vba]
Код
Sub Макрос1в()
     Dim i
     For i = 24 To 31
     .....................
     ....................

     Rows(i).EntireRow.Hidden = Not (CBool(Cells(i, 4) + Cells(i, 5)))
     Next i
End Sub
[/vba]
 
Ответить
СообщениеAlex_ST, Вы злитесь, это плохо.
Я четко описала условия и приложила свою таблицу, которая, состоит из ТРЕХ разделов. И в последнем разделе (окрашен жёлтой заливкой) ячейки не могут быть объедены, так как показатели формируются на основании выше внесенных данных, по каждому столбцу (т.е. цифры есть в каждой ячейке).
Т.е. "цветовая дифференциация штанов" .... Вам уже не нужны?

Я про нее написала:
Но хотелось бы макрос не привязывать к цвету (заливке),

И судя по Вашему макросу не нужно даже автоматическое определение границ обрабатываемого диапазона

А разве здесь не задается диапазон? С 24 строки по 31 строку?
Alex_ST, не обижайтесь, сторожилы форума зря зачастую обвиняют новичков в том, что они не правильно излагают свои вопросы и просьбы, и не внимательно читают ответы. В моем вопросе все было достаточно четко изложено и описано в приложенных файлах. Видимо мы видим результат каждый по своему.
Последний вариант работает (СПАСИБО). Не злитесь, скажите как перечислить все диапазоны строк, чтобы не делать на каждый отдельный макрос? :)
[vba]
Код
Sub Макрос1в()
     Dim i
     For i = 24 To 31
     .....................
     ....................

     Rows(i).EntireRow.Hidden = Not (CBool(Cells(i, 4) + Cells(i, 5)))
     Next i
End Sub
[/vba]

Автор - Лорик
Дата добавления - 29.09.2014 в 15:26
Alex_ST Дата: Понедельник, 29.09.2014, 15:59 | Сообщение № 22
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
Ну, например, тупо в лоб:[vba]
Код
Sub selcase()
     Dim i
      For i = 16 To 101
        Select Case i
           Case 24 To 31
           Case 36 To 66
           Case 68 To 71
           Case 73 To 82
           Case 86 To 91
           Case 93 To 97
           Case Else: GoTo xxx
        End Select
        Rows(i).EntireRow.Hidden = Not (CBool(Cells(i, 4) + Cells(i, 5)))
xxx:       Next i
   End Sub
[/vba]Хотя, наверное, можно было бы придумать что-нибудь покрасивее. Терпеть не могу GoTo и меток. Но что-то на скорую руку ничего проще на ум не приходит.
Другой вопрос, а что Вы будете делать, когда понадобится в таблице (ну пусть в другом похожем файле) убрать или добавить где-то стоку? Опять руками все диапазоны прописывать?
Фу, какая гадость! killed
А по поводу того, чтобы Вы сами придумали признак, отличающий строки заголовков от обрабатываемых, так я говорил абсолютно серьёзно. Предложите что-нибудь. Ну, на вскидку, например, не объединённая, а закрашенная в определённый цвет ячейка.
Но только для того, чтобы не задавать этот цвет его кодом в программе, поступите так же как я сделал ещё в первом примере - дайте какое-нибудь имя ячейке, содержащей образец цвета для заголовка, а в начале процедуры считывайте его и используйте для сравнения в условиях внутри цикла..



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 29.09.2014, 20:14
 
Ответить
СообщениеНу, например, тупо в лоб:[vba]
Код
Sub selcase()
     Dim i
      For i = 16 To 101
        Select Case i
           Case 24 To 31
           Case 36 To 66
           Case 68 To 71
           Case 73 To 82
           Case 86 To 91
           Case 93 To 97
           Case Else: GoTo xxx
        End Select
        Rows(i).EntireRow.Hidden = Not (CBool(Cells(i, 4) + Cells(i, 5)))
xxx:       Next i
   End Sub
[/vba]Хотя, наверное, можно было бы придумать что-нибудь покрасивее. Терпеть не могу GoTo и меток. Но что-то на скорую руку ничего проще на ум не приходит.
Другой вопрос, а что Вы будете делать, когда понадобится в таблице (ну пусть в другом похожем файле) убрать или добавить где-то стоку? Опять руками все диапазоны прописывать?
Фу, какая гадость! killed
А по поводу того, чтобы Вы сами придумали признак, отличающий строки заголовков от обрабатываемых, так я говорил абсолютно серьёзно. Предложите что-нибудь. Ну, на вскидку, например, не объединённая, а закрашенная в определённый цвет ячейка.
Но только для того, чтобы не задавать этот цвет его кодом в программе, поступите так же как я сделал ещё в первом примере - дайте какое-нибудь имя ячейке, содержащей образец цвета для заголовка, а в начале процедуры считывайте его и используйте для сравнения в условиях внутри цикла..

Автор - Alex_ST
Дата добавления - 29.09.2014 в 15:59
Alex_ST Дата: Понедельник, 29.09.2014, 16:08 | Сообщение № 23
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
Вот, например, я в Вашем файле кроме имени MYCOLOR, присвоенного ячейке с образцом цвета не скрываемой строки, присвоил имя HEADCOLOR ячейке А15, где у Вас заголовок "Условия", и закрасил эту ячейку А15 в тот же светло-жёлтый цвет, что и не скрываемые заголовки.
Получилось вот что:[vba]
Код
Sub Hide_Empty_Rows()
    Dim rCell As Range, lColor&, lHColor&
    lColor = [MYCOLOR].Interior.Color
    lHColor = [HEADCOLOR].Interior.Color
    With Application: .ScreenUpdating = False: .EnableEvents = False: .DisplayAlerts = False: .Calculation = xlManual: End With
    For Each rCell In Range("B" & [MYCOLOR].Offset(1).Row, Cells(Rows.Count, 2).End(xlUp))
       If rCell.Interior.Color <> lColor And Not rCell.Interior.Color = lHColor Then
          rCell.EntireRow.Hidden = Not (CBool(Cells(rCell.Row, 4) + Cells(rCell.Row, 5)))
       End If
    Next
    With Application: .ScreenUpdating = True: .EnableEvents = True: .DisplayAlerts = True: .Calculation = xlAutomatic: End With
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВот, например, я в Вашем файле кроме имени MYCOLOR, присвоенного ячейке с образцом цвета не скрываемой строки, присвоил имя HEADCOLOR ячейке А15, где у Вас заголовок "Условия", и закрасил эту ячейку А15 в тот же светло-жёлтый цвет, что и не скрываемые заголовки.
Получилось вот что:[vba]
Код
Sub Hide_Empty_Rows()
    Dim rCell As Range, lColor&, lHColor&
    lColor = [MYCOLOR].Interior.Color
    lHColor = [HEADCOLOR].Interior.Color
    With Application: .ScreenUpdating = False: .EnableEvents = False: .DisplayAlerts = False: .Calculation = xlManual: End With
    For Each rCell In Range("B" & [MYCOLOR].Offset(1).Row, Cells(Rows.Count, 2).End(xlUp))
       If rCell.Interior.Color <> lColor And Not rCell.Interior.Color = lHColor Then
          rCell.EntireRow.Hidden = Not (CBool(Cells(rCell.Row, 4) + Cells(rCell.Row, 5)))
       End If
    Next
    With Application: .ScreenUpdating = True: .EnableEvents = True: .DisplayAlerts = True: .Calculation = xlAutomatic: End With
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 29.09.2014 в 16:08
Лорик Дата: Понедельник, 29.09.2014, 16:19 | Сообщение № 24
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Alex_ST, слава богу, Вы не злитесь! :)
Я не умею создавать коды (я простой экономист). Сленг программистов мне вообщем-то не понятен. И надеялась я на то, что знающие в этой сфере люди смогут проанализировать мои условия и написать все правильно. Макрос который есть у меня, то же списанный у кого-то. Поэтому в его пользе и правильности ничего и не утверждаю. Думала, он может как-то побыстрее решит мою задачу, с учетом Ваших корректировок. Ну да ладно.
Alex_ST, с именной ячейкой я все поняла. А если таблица не будет "разукрашена"?!
Поясните, пожалуйста простому экономисту значение строки в коде:
[vba]
Код
Rows(i).EntireRow.Hidden = Not (CBool(Cells(i, 4) + Cells(i, 5)))
[/vba]
 
Ответить
СообщениеAlex_ST, слава богу, Вы не злитесь! :)
Я не умею создавать коды (я простой экономист). Сленг программистов мне вообщем-то не понятен. И надеялась я на то, что знающие в этой сфере люди смогут проанализировать мои условия и написать все правильно. Макрос который есть у меня, то же списанный у кого-то. Поэтому в его пользе и правильности ничего и не утверждаю. Думала, он может как-то побыстрее решит мою задачу, с учетом Ваших корректировок. Ну да ладно.
Alex_ST, с именной ячейкой я все поняла. А если таблица не будет "разукрашена"?!
Поясните, пожалуйста простому экономисту значение строки в коде:
[vba]
Код
Rows(i).EntireRow.Hidden = Not (CBool(Cells(i, 4) + Cells(i, 5)))
[/vba]

Автор - Лорик
Дата добавления - 29.09.2014 в 16:19
Alex_ST Дата: Понедельник, 29.09.2014, 16:57 | Сообщение № 25
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
А если таблица не будет "разукрашена"?!
А по поводу того, чтобы Вы сами придумали признак, отличающий строки заголовков от обрабатываемых, так я говорил абсолютно серьёзно. Предложите что-нибудь.
Ну поймите, программа же не смотрит как человек, осмысливая и додумывая своим мозгом увиденное, а тупо просматривает и анализирует данные в заданном ей месте и по указанным ей признакам.
Ну как по-Вашему она должна узнать, что в строке заголовок и его прятать нельзя? Не нравится цвет фона ячейки, так возьмите цвет шрифта.
Ну, или в конце-концов скажите, что в столбце С (ед.изм.) там должно быть пусто... Хотя для раздела III это правило не работает :(
Так может быть всё-таки структуру таблицы проще подправить под возможности программы, а не программу под структуру данных?
------------------------------------------
Rows(i).EntireRow.Hidden - надеюсь, пояснения не требует? Это управление свойством Hidden (скрыто) строки, заданной Rows(i).EntireRow
CBool - оператор преобразования числа-аргумента в логическую переменную (Булева алгебра). Если аргумент=0, то CBool вернёт False (ЛОЖЬ), если аргумент >0 , то Cbool вернёт True (ИСТИНА)
Not - инверсия логического значения.
Т.е. если сумма ячеек текущей строки i в столбцах D и E (Cells(i, 4) + Cells(i, 5)) больше 0, то CBool (Cells(i, 4) + Cells(i, 5)) = True , значит Not (CBool(Cells(i, 4) + Cells(i, 5))) = True , следовательно свойство Hidden этой строки будет установлено в True и строка будет скрыта.
Но вообще-то практически всё это есть в Справке.
Просто встаёте курсором не незнакомую Вам команду, метод, свойство, нажимаете F1 и читаете Справку.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
А если таблица не будет "разукрашена"?!
А по поводу того, чтобы Вы сами придумали признак, отличающий строки заголовков от обрабатываемых, так я говорил абсолютно серьёзно. Предложите что-нибудь.
Ну поймите, программа же не смотрит как человек, осмысливая и додумывая своим мозгом увиденное, а тупо просматривает и анализирует данные в заданном ей месте и по указанным ей признакам.
Ну как по-Вашему она должна узнать, что в строке заголовок и его прятать нельзя? Не нравится цвет фона ячейки, так возьмите цвет шрифта.
Ну, или в конце-концов скажите, что в столбце С (ед.изм.) там должно быть пусто... Хотя для раздела III это правило не работает :(
Так может быть всё-таки структуру таблицы проще подправить под возможности программы, а не программу под структуру данных?
------------------------------------------
Rows(i).EntireRow.Hidden - надеюсь, пояснения не требует? Это управление свойством Hidden (скрыто) строки, заданной Rows(i).EntireRow
CBool - оператор преобразования числа-аргумента в логическую переменную (Булева алгебра). Если аргумент=0, то CBool вернёт False (ЛОЖЬ), если аргумент >0 , то Cbool вернёт True (ИСТИНА)
Not - инверсия логического значения.
Т.е. если сумма ячеек текущей строки i в столбцах D и E (Cells(i, 4) + Cells(i, 5)) больше 0, то CBool (Cells(i, 4) + Cells(i, 5)) = True , значит Not (CBool(Cells(i, 4) + Cells(i, 5))) = True , следовательно свойство Hidden этой строки будет установлено в True и строка будет скрыта.
Но вообще-то практически всё это есть в Справке.
Просто встаёте курсором не незнакомую Вам команду, метод, свойство, нажимаете F1 и читаете Справку.

Автор - Alex_ST
Дата добавления - 29.09.2014 в 16:57
Alex_ST Дата: Понедельник, 29.09.2014, 22:15 | Сообщение № 26
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
Вот дома слепил пример по крайнему своему варианту, добавив комментарии.
В ячейке с именем MYCOLOR задаётся образец цвета, при котором не нужно скрывать строку даже если данные в ячейках D и Е равны нулю. Эта же ячейка показывает начало обрабатываемой таблицы.
В ячейке с именем HEADCOLOR задаётся образец цвета строк заголовков. Такие строки скрывать не надо.

К стати, обратите внимание на количество имён в книге. Не многовато ли? Да ещё и с формулами из английской локализации Excel?
К сообщению приложен файл: 5735319.xls (78.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 29.09.2014, 22:17
 
Ответить
СообщениеВот дома слепил пример по крайнему своему варианту, добавив комментарии.
В ячейке с именем MYCOLOR задаётся образец цвета, при котором не нужно скрывать строку даже если данные в ячейках D и Е равны нулю. Эта же ячейка показывает начало обрабатываемой таблицы.
В ячейке с именем HEADCOLOR задаётся образец цвета строк заголовков. Такие строки скрывать не надо.

К стати, обратите внимание на количество имён в книге. Не многовато ли? Да ещё и с формулами из английской локализации Excel?

Автор - Alex_ST
Дата добавления - 29.09.2014 в 22:15
Wasilich Дата: Понедельник, 29.09.2014, 23:14 | Сообщение № 27
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
А если скрывать строки ориентируясь на пункты и подпункты.
Типа так. :)
К сообщению приложен файл: 6873012.xls (67.5 Kb)


Сообщение отредактировал Wasilic - Понедельник, 29.09.2014, 23:18
 
Ответить
СообщениеА если скрывать строки ориентируясь на пункты и подпункты.
Типа так. :)

Автор - Wasilich
Дата добавления - 29.09.2014 в 23:14
Лорик Дата: Вторник, 30.09.2014, 03:35 | Сообщение № 28
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Alex_ST, спасибо Вам, все варианты работают. К вопросу об универсальности: А если в ячейках будут проставляться не числовые значения, а текст? Попробовала в ячейки внести текстовые значения. Макрос скрывает строки, но при этом выдается сообщение Type mismatch (несоответствие типов).

А наличие других имен, так таблица скопирована из другого файла.
 
Ответить
СообщениеAlex_ST, спасибо Вам, все варианты работают. К вопросу об универсальности: А если в ячейках будут проставляться не числовые значения, а текст? Попробовала в ячейки внести текстовые значения. Макрос скрывает строки, но при этом выдается сообщение Type mismatch (несоответствие типов).

А наличие других имен, так таблица скопирована из другого файла.

Автор - Лорик
Дата добавления - 30.09.2014 в 03:35
Лорик Дата: Вторник, 30.09.2014, 03:46 | Сообщение № 29
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Wasilic, спасибо, что присоединились. В вашем варианте та же проблема:

Попробовала его в своем файле, макрос скрывает все строки, в которых есть показатели (а это не нужно) и оставляет только те, что закрашены зеленым цветом. Скрывать нужно строки в которых нет данных, но те строки которые являются названиями пунктов в разделе (т.е являются сводной строкой по показателям которые в неё входят) скрываться не должны. Т.е при формировании таблицы на печать пользователь может видеть что, например, по пункту В раздела II показатели равны нулю.


понимаете, скрываются строки в которые мы вносим значения, а их скрывать не надо. Разделы состоят из пунктов, т.е. из строк (закрашенных у меня зеленной заливкой), в которой суммируются показатели занесенные в ПОДПУНКТЫ этих строк. И строки с показателями в подпунктах, должны скрываться только если в них нет данных (числа, текста). Разделы состоят из основных пунктов 1,2,3 и т.д. Но эти пункты, в свою очередь, состоят из подпунктов 1.1, 1.2, 1.3 и т.д. Они (подпункты) не должны скрываться, если в них есть данные.
 
Ответить
СообщениеWasilic, спасибо, что присоединились. В вашем варианте та же проблема:

Попробовала его в своем файле, макрос скрывает все строки, в которых есть показатели (а это не нужно) и оставляет только те, что закрашены зеленым цветом. Скрывать нужно строки в которых нет данных, но те строки которые являются названиями пунктов в разделе (т.е являются сводной строкой по показателям которые в неё входят) скрываться не должны. Т.е при формировании таблицы на печать пользователь может видеть что, например, по пункту В раздела II показатели равны нулю.


понимаете, скрываются строки в которые мы вносим значения, а их скрывать не надо. Разделы состоят из пунктов, т.е. из строк (закрашенных у меня зеленной заливкой), в которой суммируются показатели занесенные в ПОДПУНКТЫ этих строк. И строки с показателями в подпунктах, должны скрываться только если в них нет данных (числа, текста). Разделы состоят из основных пунктов 1,2,3 и т.д. Но эти пункты, в свою очередь, состоят из подпунктов 1.1, 1.2, 1.3 и т.д. Они (подпункты) не должны скрываться, если в них есть данные.

Автор - Лорик
Дата добавления - 30.09.2014 в 03:46
Лорик Дата: Вторник, 30.09.2014, 04:00 | Сообщение № 30
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Так может быть всё-таки структуру таблицы проще подправить под возможности программы, а не программу под структуру данных?


Не знаю, есть ли смысл, но может быть добавить еще дополнительный столбец (слева) и в нем пометить пункты определенным знаком?
 
Ответить
Сообщение
Так может быть всё-таки структуру таблицы проще подправить под возможности программы, а не программу под структуру данных?


Не знаю, есть ли смысл, но может быть добавить еще дополнительный столбец (слева) и в нем пометить пункты определенным знаком?

Автор - Лорик
Дата добавления - 30.09.2014 в 04:00
Alex_ST Дата: Вторник, 30.09.2014, 08:48 | Сообщение № 31
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
А если в ячейках будут проставляться не числовые значения, а текст?
В цикле замените строку[vba]
Код
rCell.EntireRow.Hidden = Not (CBool(Cells(rCell.Row, 4) + Cells(rCell.Row, 5)))
[/vba] на строку[vba]
Код
rCell.EntireRow.Hidden = Len(CStr(Cells(rCell.Row, 4) & CStr(Cells(rCell.Row, 5)))) = 0
[/vba]

есть ли смысл, но может быть добавить еще дополнительный столбец (слева) и в нем пометить пункты определенным знаком?
Ещё какой смысл! Всё намного упростится. А если Вы в этом дополнительном столбце ещё и формулу пропишете, которая будет вычислять скрываемые и не скрываемые строки, то вообще макрос будет не нужен. Можно будет автофильтром обойтись :)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
А если в ячейках будут проставляться не числовые значения, а текст?
В цикле замените строку[vba]
Код
rCell.EntireRow.Hidden = Not (CBool(Cells(rCell.Row, 4) + Cells(rCell.Row, 5)))
[/vba] на строку[vba]
Код
rCell.EntireRow.Hidden = Len(CStr(Cells(rCell.Row, 4) & CStr(Cells(rCell.Row, 5)))) = 0
[/vba]

есть ли смысл, но может быть добавить еще дополнительный столбец (слева) и в нем пометить пункты определенным знаком?
Ещё какой смысл! Всё намного упростится. А если Вы в этом дополнительном столбце ещё и формулу пропишете, которая будет вычислять скрываемые и не скрываемые строки, то вообще макрос будет не нужен. Можно будет автофильтром обойтись :)

Автор - Alex_ST
Дата добавления - 30.09.2014 в 08:48
Лорик Дата: Вторник, 30.09.2014, 08:53 | Сообщение № 32
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
то вообще макрос будет не нужен.

А ларчик просто открывался! :D
 
Ответить
Сообщение
то вообще макрос будет не нужен.

А ларчик просто открывался! :D

Автор - Лорик
Дата добавления - 30.09.2014 в 08:53
Alex_ST Дата: Вторник, 30.09.2014, 08:53 | Сообщение № 33
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
Типа так
типа только вечером из дома посмотреть смогу... Ещё раз спасибо собакам-сисадминам! Чтобы им на каждое "спасибо" икалось.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Типа так
типа только вечером из дома посмотреть смогу... Ещё раз спасибо собакам-сисадминам! Чтобы им на каждое "спасибо" икалось.

Автор - Alex_ST
Дата добавления - 30.09.2014 в 08:53
ShAM Дата: Вторник, 30.09.2014, 09:41 | Сообщение № 34
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
[offtop]
Ещё раз спасибо собакам-сисадминам!

Остается вариант: самому стать сисадмином <_<
[/offtop]
 
Ответить
Сообщение[offtop]
Ещё раз спасибо собакам-сисадминам!

Остается вариант: самому стать сисадмином <_<
[/offtop]

Автор - ShAM
Дата добавления - 30.09.2014 в 09:41
Wasilich Дата: Вторник, 30.09.2014, 10:02 | Сообщение № 35
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
В вашем варианте та же проблема:
Так может покажете как должно получиться, скрыв ненужное ручками.
 
Ответить
Сообщение
В вашем варианте та же проблема:
Так может покажете как должно получиться, скрыв ненужное ручками.

Автор - Wasilich
Дата добавления - 30.09.2014 в 10:02
Лорик Дата: Вторник, 30.09.2014, 10:43 | Сообщение № 36
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Так может покажете как должно получиться, скрыв ненужное ручками.

Проставила примерные показатели.
К сообщению приложен файл: 6873012-1-.xls (60.5 Kb)
 
Ответить
Сообщение
Так может покажете как должно получиться, скрыв ненужное ручками.

Проставила примерные показатели.

Автор - Лорик
Дата добавления - 30.09.2014 в 10:43
Alex_ST Дата: Вторник, 30.09.2014, 11:00 | Сообщение № 37
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3208
Репутация: 609 ±
Замечаний: 0% ±

2003
Проверил на Вашем реальном примере свои процедуры.
ИМХО, всё работает. Что не устраивает-то? Цвет ячейки "Условия" (А15)? Ну так дайте имя HEADCOLOR не этой ячейке, а любой другой в любой строке заголовка чтобы указать программе, оттуда брать образец цвета.
А по поводу текстовых значений я уже ответил сегодня здесь.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 30.09.2014, 11:00
 
Ответить
СообщениеПроверил на Вашем реальном примере свои процедуры.
ИМХО, всё работает. Что не устраивает-то? Цвет ячейки "Условия" (А15)? Ну так дайте имя HEADCOLOR не этой ячейке, а любой другой в любой строке заголовка чтобы указать программе, оттуда брать образец цвета.
А по поводу текстовых значений я уже ответил сегодня здесь.

Автор - Alex_ST
Дата добавления - 30.09.2014 в 11:00
RAN Дата: Вторник, 30.09.2014, 11:07 | Сообщение № 38
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub Мяу()
     Dim i&
     Application.ScreenUpdating = False
     For i = Cells(Rows.Count, "F").End(xlUp).Row To 16 Step -1
         If Len(Cells(i, "D")) Then
         Else
             If Len(Cells(i, "E")) Then
             Else
                 If Len(Cells(i, "F")) Then
                     Rows(i).Hidden = True
                 End If
             End If
         End If
     Next
     Application.ScreenUpdating = True
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub Мяу()
     Dim i&
     Application.ScreenUpdating = False
     For i = Cells(Rows.Count, "F").End(xlUp).Row To 16 Step -1
         If Len(Cells(i, "D")) Then
         Else
             If Len(Cells(i, "E")) Then
             Else
                 If Len(Cells(i, "F")) Then
                     Rows(i).Hidden = True
                 End If
             End If
         End If
     Next
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - RAN
Дата добавления - 30.09.2014 в 11:07
Лорик Дата: Вторник, 30.09.2014, 11:13 | Сообщение № 39
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Что не устраивает-то?

Alex_ST, меня все устраивает!? Это Wasilic, хочет видимо свой вариант проработать.
 
Ответить
Сообщение
Что не устраивает-то?

Alex_ST, меня все устраивает!? Это Wasilic, хочет видимо свой вариант проработать.

Автор - Лорик
Дата добавления - 30.09.2014 в 11:13
Лорик Дата: Вторник, 30.09.2014, 11:19 | Сообщение № 40
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
RAN, и Вам спасибоМяу! :)
 
Ответить
СообщениеRAN, и Вам спасибоМяу! :)

Автор - Лорик
Дата добавления - 30.09.2014 в 11:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос "Скрыть строки в пределах определенного раздела" (Макросы/Sub)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

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