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

Вход

Регистрация

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

 

= Мир MS Excel/Скрытие строк с нулевым значением - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие строк с нулевым значением (Макросы Sub)
Скрытие строк с нулевым значением
Unforcer2409 Дата: Среда, 05.02.2014, 13:17 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Добрый день. Облазил форум, но не нашел решения моей проблемы. Есть таблица (см. вложения). В ней можно выбирать вид оборудования и от этого будет определяться комплект деталей и его стоимость. Как сделать так, чтобы те строки, в которых ячейка "кол-во" равна "0" автоматически скрывались, а, если выбрать другой вид оборудования, то отображались скрытые, а другие скрывались? Сделать это необходимо в автоматическом режиме, без использования кнопки.

Есть код:

[vba]
Код
Private Sub Worksheet_Calculate()
Sub test()
Dim i&
For i = 1 To 100
If Range("A" & i).Value = "" Then
Rows(i).EntireRow.Hidden = True
Else: Rows(i).EntireRow.Hidden = False '
End If
Next
End Sub
[/vba]

Но он работает с тормозами и глюками.
К сообщению приложен файл: 9638074.xlsx (10.3 Kb)


Сообщение отредактировал Unforcer2409 - Среда, 05.02.2014, 13:19
 
Ответить
СообщениеДобрый день. Облазил форум, но не нашел решения моей проблемы. Есть таблица (см. вложения). В ней можно выбирать вид оборудования и от этого будет определяться комплект деталей и его стоимость. Как сделать так, чтобы те строки, в которых ячейка "кол-во" равна "0" автоматически скрывались, а, если выбрать другой вид оборудования, то отображались скрытые, а другие скрывались? Сделать это необходимо в автоматическом режиме, без использования кнопки.

Есть код:

[vba]
Код
Private Sub Worksheet_Calculate()
Sub test()
Dim i&
For i = 1 To 100
If Range("A" & i).Value = "" Then
Rows(i).EntireRow.Hidden = True
Else: Rows(i).EntireRow.Hidden = False '
End If
Next
End Sub
[/vba]

Но он работает с тормозами и глюками.

Автор - Unforcer2409
Дата добавления - 05.02.2014 в 13:17
SkyPro Дата: Среда, 05.02.2014, 13:34 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
В модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim hRange As Range
Dim i&
Dim x
Rows("1:" & Rows.Count).Hidden = False
x = Range("C4:C" & Cells(Rows.Count, 3).End(xlUp).Row).Value
For i = 1 To UBound(x)
     If x(i, 1) = 0 Then
         If hRange Is Nothing Then
             Set hRange = Cells(i + 3, 1)
         Else
             Set hRange = Union(Cells(i + 3, 1), hRange)
         End If
     End If
Next
If Not hRange Is Nothing Then
     hRange.EntireRow.Hidden = True
End If
Set hRange = Nothing
End Sub
[/vba]


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Среда, 05.02.2014, 13:40
 
Ответить
СообщениеВ модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim hRange As Range
Dim i&
Dim x
Rows("1:" & Rows.Count).Hidden = False
x = Range("C4:C" & Cells(Rows.Count, 3).End(xlUp).Row).Value
For i = 1 To UBound(x)
     If x(i, 1) = 0 Then
         If hRange Is Nothing Then
             Set hRange = Cells(i + 3, 1)
         Else
             Set hRange = Union(Cells(i + 3, 1), hRange)
         End If
     End If
Next
If Not hRange Is Nothing Then
     hRange.EntireRow.Hidden = True
End If
Set hRange = Nothing
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 05.02.2014 в 13:34
Unforcer2409 Дата: Среда, 05.02.2014, 13:55 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
SkyPro, спасибо! То, что доктор прописал!
 
Ответить
СообщениеSkyPro, спасибо! То, что доктор прописал!

Автор - Unforcer2409
Дата добавления - 05.02.2014 в 13:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие строк с нулевым значением (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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