Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / При изменении конкретной ячейки скрыт строку / 13 сообщений из 13, страница 1 из 1
14.03.2014, 15:36
    #38586493
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
Доброго времени суток, прошу вашей помощи.
Задача следующая: Если AB9 = 0 то нужно скрыт строку, я вроде сделал вот код VBA.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Worksheet_Calculate()
    On Error Resume Next
    Application.ScreenUpdating = False
    Dim KeyCells As Range
    Set KeyCells = Range("$AB$9")
    If Not Application.Intersect(KeyCells, Range("$AB$9")) Is Nothing Then
        If KeyCells = 0 Then
            Rows("A9:A9").Select
            Selection.EntireRow.Hidden = False
        End If
    End If
    Application.ScreenUpdating = True
End Sub


При изменения ячейка т.е. запуск макроса зависает «Прекращена работа программы Microsoft Excel», в чем проблема помогите пожалуйста….
Заранее благодарен за ответ!
...
Рейтинг: 0 / 0
14.03.2014, 15:40
    #38586500
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
прежде всего убрать
Код: vbnet
1.
On Error Resume Next
...
Рейтинг: 0 / 0
14.03.2014, 15:43
    #38586504
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
во вторых, что вы хотели этим сказать?
Код: vbnet
1.
Rows("A9:A9").Select


может быть
Код: vbnet
1.
Rows("9:9").Select



да и вообще, не нужен там Select
Код: vbnet
1.
Rows("9:9").EntireRow.Hidden = False
...
Рейтинг: 0 / 0
14.03.2014, 15:44
    #38586507
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
и вообще, зачем EntireRow при выборе единственной строки
...
Рейтинг: 0 / 0
14.03.2014, 16:25
    #38586564
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
и какой смысл в проверке
Код: vbnet
1.
Intersect(Range("$AB$9"), Range("$AB$9"))



и почему
Код: vbnet
1.
Hidden = False

вы вроде ж собирались скрыть строку, а не показать
...
Рейтинг: 0 / 0
14.03.2014, 16:37
    #38586579
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
Shocker.Pro,
Hidden = False здесь ошибка))), Hidden = True
...
Рейтинг: 0 / 0
14.03.2014, 16:39
    #38586583
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
Скрытие строки вызывает пересчет "летучих" формул, поэтому программа зацикливается. Можно так:
Код: vbnet
1.
2.
3.
4.
5.
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
Rows(9).Hidden = (Range("AB9") = 0)
Application.EnableEvents = True
End Sub
...
Рейтинг: 0 / 0
14.03.2014, 17:04
    #38586628
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
Казанский,
Спасибо отлично работает, хотелось бы узнать можно формулами это сделать, т.е. скрыт строка с помощью формула без макроса...?
...
Рейтинг: 0 / 0
14.03.2014, 19:39
    #38586798
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
Формулами - никак. Можно с помощью условного форматирования сделать белый шрифт на белом фоне, но скрыть строку нельзя.
...
Рейтинг: 0 / 0
15.03.2014, 11:59
    #38587110
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
с помощью формул можно сделать так чтобы выводились только нужные данные на данном листе, при условии что исходные хранятся только в другом месте. Часто так приходилось делать для файлов которые будут работать в и MS и OO. Таким образом получится что при определенном условии какая строка как будто бы скрывается хотя фактически просто перестает подтягиваться значение на этот лист.
...
Рейтинг: 0 / 0
18.03.2014, 13:55
    #38589406
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
Deggasadс помощью формул можно сделать так чтобы выводились только нужные данные на данном листе, при условии что исходные хранятся только в другом месте. Часто так приходилось делать для файлов которые будут работать в и MS и OO. Таким образом получится что при определенном условии какая строка как будто бы скрывается хотя фактически просто перестает подтягиваться значение на этот лист.
спасибо, можете показать примеры....
...
Рейтинг: 0 / 0
18.03.2014, 17:01
    #38589751
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
Joris,
привожу простой пример, он только для обозначения общей логики, а полет фантазии не ограничен
...
Рейтинг: 0 / 0
19.03.2014, 10:13
    #38590219
Joris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При изменении конкретной ячейки скрыт строку
Deggasad,
Спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / При изменении конкретной ячейки скрыт строку / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]