КРОСС продолжение темы My WebPage Макрос №3: Если оператору не потребуется таблица №2, то нажимает кнопку (СКРЫТЬ ТАБЛИЦУ №2) после чего должны скрыться диапазон строк 75:82. Но прошу учесть что этот диапазон может изменится, если оператор использует макрос №2.
КРОСС продолжение темы My WebPage Макрос №3: Если оператору не потребуется таблица №2, то нажимает кнопку (СКРЫТЬ ТАБЛИЦУ №2) после чего должны скрыться диапазон строк 75:82. Но прошу учесть что этот диапазон может изменится, если оператор использует макрос №2.lebensvoll
lebensvoll, посмотрите такой вариант, пойдет? [vba]
Код
Dim r&, lr& Sub hideOrShowTable() If ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Скрыть Таблицу №2" Then r = Columns("v:x").Find("Таблица №2", , xlValues, xlWhole).Row - 1 lr = Cells(Rows.Count, 2).End(xlUp).Row Rows(r & ":" & lr).Hidden = True ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Показать Таблицу №2" Else If IsEmpty(r) Then r = Cells(Rows.Count, 2).End(xlUp).Row lr = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row End If Rows(r & ":" & lr).Hidden = False ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Скрыть Таблицу №2" End If End Sub
[/vba] Кнопку переделала в фигуру, чтобы текст на ней можно было менять. Начало таблицы определяется ячейкой "Таблица №2" в столбце V, скрывается все до конца листа.
lebensvoll, посмотрите такой вариант, пойдет? [vba]
Код
Dim r&, lr& Sub hideOrShowTable() If ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Скрыть Таблицу №2" Then r = Columns("v:x").Find("Таблица №2", , xlValues, xlWhole).Row - 1 lr = Cells(Rows.Count, 2).End(xlUp).Row Rows(r & ":" & lr).Hidden = True ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Показать Таблицу №2" Else If IsEmpty(r) Then r = Cells(Rows.Count, 2).End(xlUp).Row lr = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row End If Rows(r & ":" & lr).Hidden = False ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Скрыть Таблицу №2" End If End Sub
[/vba] Кнопку переделала в фигуру, чтобы текст на ней можно было менять. Начало таблицы определяется ячейкой "Таблица №2" в столбце V, скрывается все до конца листа.Manyasha
Manyasha, Вы все правильно и красиво сделали. НО!!!
Цитата
должны скрыться диапазон строк 75:82. Но прошу учесть что этот диапазон может изменится
Нужно чтоб ЗАКЛЮЧЕНИЕ оставалось видимым ((( как и те кто проводил испытания (((( [img][/img] И еще что очень важно!!! Возможно что оператор добавит испытания и тогда диапазон строк 75:82 увеличится или изменится ((( да и еще и этот диапозон также возможно изменится он может быть и 150:157 и т.д
Manyasha, Вы все правильно и красиво сделали. НО!!!
Цитата
должны скрыться диапазон строк 75:82. Но прошу учесть что этот диапазон может изменится
Нужно чтоб ЗАКЛЮЧЕНИЕ оставалось видимым ((( как и те кто проводил испытания (((( [img][/img] И еще что очень важно!!! Возможно что оператор добавит испытания и тогда диапазон строк 75:82 увеличится или изменится ((( да и еще и этот диапозон также возможно изменится он может быть и 150:157 и т.дlebensvoll
Кто бы ты ни был, мир в твоих руках
Сообщение отредактировал lebensvoll - Пятница, 15.04.2016, 18:30
Dim r&, lr& Sub hideOrShowTable() If ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Скрыть Таблицу №2" Then r = Columns("v:x").Find("Таблица №2", , xlValues, xlWhole).Row - 1 'Вот тут изменила строчку lr = Cells.Find("ЗАКЛЮЧЕНИЕ: ", , xlFormulas, xlPart).Row - 1 Rows(r & ":" & lr).Hidden = True ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Показать Таблицу №2" Else If IsEmpty(r) Then r = Cells(Rows.Count, 2).End(xlUp).Row lr = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row End If Rows(r & ":" & lr).Hidden = False ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Скрыть Таблицу №2" End If End Sub
Dim r&, lr& Sub hideOrShowTable() If ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Скрыть Таблицу №2" Then r = Columns("v:x").Find("Таблица №2", , xlValues, xlWhole).Row - 1 'Вот тут изменила строчку lr = Cells.Find("ЗАКЛЮЧЕНИЕ: ", , xlFormulas, xlPart).Row - 1 Rows(r & ":" & lr).Hidden = True ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Показать Таблицу №2" Else If IsEmpty(r) Then r = Cells(Rows.Count, 2).End(xlUp).Row lr = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row End If Rows(r & ":" & lr).Hidden = False ActiveSheet.Shapes("btn2").TextFrame2.TextRange.Characters.Text = "Скрыть Таблицу №2" End If End Sub
Manyasha, добрый день!!! А также всем остальным... Помогите пожалуйста, макрос (прошу прощение я не ваш использовал а от Pelena, потому как хотел кнопки чтоб были все едины) перестал срабатывать и выдает ошибку Run-time error 91: Object variable or With block variable not set Не могу просто скрин фото показать компания не позволяет открыть страницу (((( не пойму еще как эту еще позволяет (СПАСИБО ИМ ОГРОМНОЕ ЗА ЭТО). Я так понимаю что в связи с тем что в столбце В85 стал использовать формулу:
Код
=ЕСЛИ($AC$1;"ЗАКЛЮЧЕНИЕ: Фактическая прочность бетона на контролируемых участках на момент испытания в среднем составляет "&ФИКСИРОВАННЫЙ($AC$62;2)&" МПа, что соответствует классу бетона "&$AG$62&". Значения прочности бетона варируются от "&ФИКСИРОВАННЫЙ($AC$63;2)&" МПа до "&ФИКСИРОВАННЫЙ($AC$64;2)&" МПа, что соответствует классам бетона "&$AG$63&" до "&$AG$64&". Партия монолитных конструкций подлежит приемке по прочности бетона если Вф ≥ Внорм: "&$AG$62&" "&$AB$65&" "&$D$23&".";"ЗАКЛЮЧЕНИЕ: Фактическая прочность бетона на контролируемых участках на момент испытания в среднем составляет "&ФИКСИРОВАННЫЙ($AC$62;2)&" МПа. Значения прочности бетона варируются от "&ФИКСИРОВАННЫЙ($AC$63;2)&" МПа до "&ФИКСИРОВАННЫЙ($AC$64;2)&" МПа.")
раньше было так
Код
="ЗАКЛЮЧЕНИЕ: Фактическая прочность бетона на контролируемых участках на момент испытания в среднем составляет "&ФИКСИРОВАННЫЙ(AA62;2)&" МПа. Значения прочности бетона варируются от "&ФИКСИРОВАННЫЙ(AA63;2)&" МПа до "&ФИКСИРОВАННЫЙ(AA64;2)&" МПа."
Можно ли исправить это??? Заранее спасибо!!!
Manyasha, добрый день!!! А также всем остальным... Помогите пожалуйста, макрос (прошу прощение я не ваш использовал а от Pelena, потому как хотел кнопки чтоб были все едины) перестал срабатывать и выдает ошибку Run-time error 91: Object variable or With block variable not set Не могу просто скрин фото показать компания не позволяет открыть страницу (((( не пойму еще как эту еще позволяет (СПАСИБО ИМ ОГРОМНОЕ ЗА ЭТО). Я так понимаю что в связи с тем что в столбце В85 стал использовать формулу:
Код
=ЕСЛИ($AC$1;"ЗАКЛЮЧЕНИЕ: Фактическая прочность бетона на контролируемых участках на момент испытания в среднем составляет "&ФИКСИРОВАННЫЙ($AC$62;2)&" МПа, что соответствует классу бетона "&$AG$62&". Значения прочности бетона варируются от "&ФИКСИРОВАННЫЙ($AC$63;2)&" МПа до "&ФИКСИРОВАННЫЙ($AC$64;2)&" МПа, что соответствует классам бетона "&$AG$63&" до "&$AG$64&". Партия монолитных конструкций подлежит приемке по прочности бетона если Вф ≥ Внорм: "&$AG$62&" "&$AB$65&" "&$D$23&".";"ЗАКЛЮЧЕНИЕ: Фактическая прочность бетона на контролируемых участках на момент испытания в среднем составляет "&ФИКСИРОВАННЫЙ($AC$62;2)&" МПа. Значения прочности бетона варируются от "&ФИКСИРОВАННЫЙ($AC$63;2)&" МПа до "&ФИКСИРОВАННЫЙ($AC$64;2)&" МПа.")
раньше было так
Код
="ЗАКЛЮЧЕНИЕ: Фактическая прочность бетона на контролируемых участках на момент испытания в среднем составляет "&ФИКСИРОВАННЫЙ(AA62;2)&" МПа. Значения прочности бетона варируются от "&ФИКСИРОВАННЫЙ(AA63;2)&" МПа до "&ФИКСИРОВАННЫЙ(AA64;2)&" МПа."
Можно ли исправить это??? Заранее спасибо!!!lebensvoll
lebensvoll, У Вас раньше надпись "Таблица №2" была в других ячейках, поправила. Если такая строка на листе только в одном месте содержится, то можно искать не в определенных столбцах, а на всем листе [vba]
Код
Dim r&, lr& Sub СкрытьТаблицу№2() If ActiveSheet.CommandButton2.Caption = "Скрыть Таблицу №2" Then 'Тут поправила ' r = Columns("v:z").Find("Таблица №2", , xlValues, xlWhole).Row - 1 'или так r = Cells.Find("Таблица №2", , xlValues, xlWhole).Row - 1 'И здесь пробел убрала lr = Cells.Find("ЗАКЛЮЧЕНИЕ:", , xlFormulas, xlPart).Row - 1 Rows(r & ":" & lr).Hidden = True ActiveSheet.CommandButton2.Caption = "Показать Таблицу №2" Else If IsEmpty(r) Then r = Cells(Rows.Count, 2).End(xlUp).Row lr = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row End If Rows(r & ":" & lr).Hidden = False ActiveSheet.CommandButton2.Caption = "Скрыть Таблицу №2" End If End Sub
[/vba]
lebensvoll, У Вас раньше надпись "Таблица №2" была в других ячейках, поправила. Если такая строка на листе только в одном месте содержится, то можно искать не в определенных столбцах, а на всем листе [vba]
Код
Dim r&, lr& Sub СкрытьТаблицу№2() If ActiveSheet.CommandButton2.Caption = "Скрыть Таблицу №2" Then 'Тут поправила ' r = Columns("v:z").Find("Таблица №2", , xlValues, xlWhole).Row - 1 'или так r = Cells.Find("Таблица №2", , xlValues, xlWhole).Row - 1 'И здесь пробел убрала lr = Cells.Find("ЗАКЛЮЧЕНИЕ:", , xlFormulas, xlPart).Row - 1 Rows(r & ":" & lr).Hidden = True ActiveSheet.CommandButton2.Caption = "Показать Таблицу №2" Else If IsEmpty(r) Then r = Cells(Rows.Count, 2).End(xlUp).Row lr = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row End If Rows(r & ":" & lr).Hidden = False ActiveSheet.CommandButton2.Caption = "Скрыть Таблицу №2" End If End Sub