Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2010, 01:06   #11
mihaz
Пользователь
 
Регистрация: 23.01.2010
Сообщений: 12
По умолчанию

ооо!!! отлично! спасибо большое! отлично все работает....
но возьму на себяя смелость просить еще об одном одолжении.... что бы это все не применялось к первым например 4м строкам (там шапка в моем случае)

P.S. спасли бедного инженера.....обещаю начать учить вижуалбэйсик
mihaz вне форума Ответить с цитированием
Старый 24.01.2010, 01:26   #12
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Такой код будет обрабатывать строки с 5-й по 1000-ю:

Код:
Sub ОставитьТолькоСтрокиСЕдиницами()
    Dim ro As Range: Application.ScreenUpdating = False
    For Each ro In Intersect([5:1000], ActiveSheet.UsedRange).EntireRow
        ro.Hidden = ro.Find("1", , , xlWhole) Is Nothing
    Next ro
End Sub
Пример файла:

EducatedFool вне форума Ответить с цитированием
Старый 24.01.2010, 15:02   #13
mihaz
Пользователь
 
Регистрация: 23.01.2010
Сообщений: 12
По умолчанию

замечательно! то что нужно, только я теперь хочу, что бы цифру вводить не в код, а в ячейку

даю ячейке имя var, и буду писать в нее нужную цифру, код тогда такой?
Код:
Sub ОставитьТолькоСтрокиСЕдиницами()
    Dim var As Range, ro As Range: Application.ScreenUpdating = False
    Set var = Range("var")
    For Each ro In Intersect([6:1000], ActiveSheet.UsedRange).EntireRow
        ro.Hidden = ro.Find("var", , , xlWhole) Is Nothing
    Next ro
End Sub
только как указать, что var в "ro.Find("var", ," переменная, а не значение

Последний раз редактировалось mihaz; 24.01.2010 в 15:26.
mihaz вне форума Ответить с цитированием
Старый 24.01.2010, 16:17   #14
mihaz
Пользователь
 
Регистрация: 23.01.2010
Сообщений: 12
По умолчанию

йохохо! разобрался, нужно было писать без кавычек...эх, как все быстро забывается...
mihaz вне форума Ответить с цитированием
Старый 27.01.2010, 16:38   #15
dzv
Пользователь
 
Аватар для dzv
 
Регистрация: 15.01.2010
Сообщений: 55
Вопрос Вопрос

Здравствуйте EducatedFool!

Пожалуйста, подскажите, что нужно изменить в макросе, чтобы убирать в диапазоне пустые строки и если в этом диапазоне добавляются строки?!
dzv вне форума Ответить с цитированием
Старый 27.01.2010, 16:47   #16
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
что нужно изменить в макросе, чтобы убирать в диапазоне пустые строки и если в этом диапазоне добавляются строки?!
Я не видел Вашего файла, поэтому не могу ответить на вопрос.

Прикрепите файл + подробно опишите, что должен делать макрос.
EducatedFool вне форума Ответить с цитированием
Старый 27.01.2010, 17:17   #17
dzv
Пользователь
 
Аватар для dzv
 
Регистрация: 15.01.2010
Сообщений: 55
По умолчанию

EducatedFool, вот, посмотрите пожалуйста.

В нем, определенные люди будут добавлять строки между 8-й и 10-й строками, куда будут вводить данные. Скорее всего (а это 100%), что они будут добавлять и пустые строки, их мне и нужно будет скрывать Вашей волшебной кнопкой или отображать (другой волшебной кнопкой).
Вложения
Тип файла: rar Dobavut.rar (8.9 Кб, 15 просмотров)
dzv вне форума Ответить с цитированием
Старый 27.01.2010, 17:43   #18
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А что же Вы скинули файл без макросов?
Если макросы уже готовы, мне было бы проще их подредактировать, нежели делать их "с нуля"...

Скрыть\отобразить строки очень просто.
К примеру, надо скрыть строки, в которых в столбце B - пустые ячейки.
При этом, макрос должен обрабатывать строки, начиная с 6-й (чтобы не скрывать заголовок листа)

В этом случае можно использовать такой код:
Код:
Sub СкрытьСтроки()
    On Error Resume Next
    Intersect(ActiveSheet.UsedRange, [b:b], [6:1000]).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Sub ОтобразитьСтроки()
    On Error Resume Next
    Intersect(ActiveSheet.UsedRange, [b:b], [6:1000]).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 27.01.2010, 18:17   #19
dzv
Пользователь
 
Аватар для dzv
 
Регистрация: 15.01.2010
Сообщений: 55
По умолчанию

EducatedFool, извините, не подумал, перезалил файл с макросами и добавил несколько строк, чтобы точнее было.
Вложения
Тип файла: rar Dobavut.rar (11.5 Кб, 11 просмотров)
dzv вне форума Ответить с цитированием
Старый 27.01.2010, 18:23   #20
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Неужели сложно самостоятельно изменить пару символов в предложенной мной коде???

Код:
Sub СкрытьСтроки()
    On Error Resume Next: Application.ScreenUpdating = False
    Intersect(ActiveSheet.UsedRange, [a:a], [9:1000]).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Sub ОтобразитьСтроки()
    On Error Resume Next: Application.ScreenUpdating = False
    Intersect(ActiveSheet.UsedRange, [a:a], [9:1000]).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
End Sub
Пример файла:

EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка на книгу, название которой является значением ячейки Максим23 Microsoft Office Excel 9 27.09.2010 09:21
Чтение cookie и нахождение нужного значения bebecap Общие вопросы Delphi 5 22.09.2009 23:35
Вывести на экран матрицу, в которой наибольшее число нулевых строк Александр НИК-В Паскаль, Turbo Pascal, PascalABC.NET 0 05.12.2008 20:49
в 1 книге копируется значение ячейки, номер которой каждый раз увеличивается на 1... Dr.Alex Microsoft Office Excel 2 29.10.2007 20:29
Подскажите пожалуйста чем удобнее воспользоваться для поиска нужного значения Ivo4ka Microsoft Office Excel 9 01.10.2007 20:17