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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2010, 14:29   #1
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию СКРЫТИЕ СТРОК ВМЕСТО КОЛОНОК

Добрый день, в данный момент не обходим следующий макрос,

Private Sub CommandButton3_Click()
Dim I As Integer
Dim DH As Variant
Dim M As Integer
M = InputBox("введите номер строки")
If M = 0 Then Exit Sub
DH = InputBox("введите искомое значение")
If DH = "" Then Exit Sub
With Sheets("MAIN")
For I = 7 To .Range("iv29").End(xlToLeft).Column Step 1
If InStr(1, .Cells(M, I), DH, vbTextCompare) = 1 Then
.Columns(I).Hidden = False
Else
.Columns(I).Hidden = True
End If
Next
End With
End Sub

Это макрос написал Dober за что ему огромное спасибо, макрос фильтрует данные - скрывает колонки не соответствующие вводимым данным ! Мне нужен такой же макрос но чтобы он теперь не колонки скрывал а с строки
т.е. чтобы при выполнении макроса нужно было указывать номер колонки а не строки как ранее, и что бы но начинал проверку с 9 строки и далее вниз. Что нужно изменить в это макросе??
Cone вне форума Ответить с цитированием
Старый 06.09.2010, 15:10   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Здравствуйте.
Код:
Private Sub CommandButton3_Click()
    Dim I As Long
    Dim DH As Variant
    Dim M As Integer
    M = InputBox("введите номер столбца")
    If M = 0 Then Exit Sub
    DH = InputBox("введите искомое значение")
    If DH = "" Then Exit Sub
    With Sheets("MAIN")
        For I = 9 To .Range("iv29").End(xlUp).Row
            If InStr(1, .Cells(I, M), DH, vbTextCompare) = 1 Then
                .Rows(I).Hidden = False
            Else
                .Rows(I).Hidden = True
            End If
        Next
    End With
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 06.09.2010, 15:36   #3
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

не хочет работать!! Фаил в приложении
Вложения
Тип файла: rar DONE_BY_SD.rar (17.7 Кб, 11 просмотров)
Cone вне форума Ответить с цитированием
Старый 06.09.2010, 15:42   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

А я не сразу понял, что "iv29" это не именованный диапазон....
Замените строку цикла на такую:
Код:
For I = 9 To .Cells(Rows.Count, M).End(xlUp).Row
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 06.09.2010, 15:50   #5
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Спасибо тебе огромное!! Все робит!!

А как можно шаг изменить чтобы проверял через 1 строку или к примеру 2,!???!

Последний раз редактировалось Cone; 06.09.2010 в 15:54.
Cone вне форума Ответить с цитированием
Старый 06.09.2010, 18:07   #6
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от Cone Посмотреть сообщение
А как можно шаг изменить чтобы проверял через 1 строку или к примеру 2,!???!
Справка рулит

Код:
For I = 9 To .Range("iv29").End(xlUp).Row Step 2
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 07.09.2010, 08:37   #7
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Справка рулит

Код:
For I = 9 To .Range("iv29").End(xlUp).Row Step 2
Да справка реально рулит если знаешь алгоритмы записи макросов, спасибо за помощь!

Если я еще не надоел с постоянными вопросами, то может подскажите как сделать следующее: В фале который я крепил в одной из колонок находиться номер программы, основная часть номера любой программы остается неизменной это 10BN000 ,к номеру каждой программы к концу прибавляется единица, т.е 10BN0001 следующая программа 10BN0002, потом 10BN0003 и так далее, - сложно ли создать макрос который будет формировать строки согласно возрастанию номера программы - потому что иногда приходиться заносить номер программы не поочередно , иногда получается так 10BN0004 потом идет 10BN0007 , 10BN0001, 10BN0005, 10BN00013, - те есть из за нарушенной последовательности трудно понять сколько всего программ и какой номер у последнее программы.
Cone вне форума Ответить с цитированием
Старый 07.09.2010, 08:52   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А чем не устраивает обычная сортировка встроенная в Excel?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 07.09.2010, 10:39   #9
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
А чем не устраивает обычная сортировка встроенная в Excel?
Не все в офисе знают что такое Excell я уже не говорю про макросы !
Cone вне форума Ответить с цитированием
Старый 07.09.2010, 11:32   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Тогда в предложенном Вам макросе перед строкой End With добавьте строку
Код:
.Rows("8:" & .Cells(Rows.Count, 2).End(xlUp).Row).Sort Key1:=.[B9], Order1:=xlAscending, Header:=xlYes
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
АРХИВАЦИЯ ДАННЫХ И СКРЫТИЕ КОЛОНОК Cone Microsoft Office Excel 15 07.08.2010 00:40
Скрытие строк по условию MaxxVer Microsoft Office Excel 11 09.04.2010 05:55
Скрытие неактивных строк Alex19789 Microsoft Office Excel 2 19.02.2010 13:57
Скрытие строк и столбцов Gawwws Microsoft Office Excel 4 19.10.2008 00:02
Скрытие ненужных строк/столбцов Bayers Microsoft Office Excel 4 19.10.2007 12:05