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

Вход

Регистрация

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

 

= Мир MS Excel/Найти ячейку ниже на 2 строки и отфильтровать массив ниже - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Найти ячейку ниже на 2 строки и отфильтровать массив ниже
timo64uk Дата: Четверг, 12.12.2024, 12:35 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 1 ±
Замечаний: 0% ±

Office16
Прошу помощи вновь.
Нашел ячейку содержащую искомое значение "ФО за 09.12" это E8
И теперь не могу спуститься ниже данной ячейки на две строки, где проходит строка с автофильтром, чтобы "отфильтроваться" по критерию убрав пустые ячейки.
Массив автофильтра идет от 11 строки и до последней заполненной строки найденного столбца (в примере это E).

[vba]
Код
With ActiveWorkbook
    Den = Right(Left(.Name, InStrRev(.Name, ".") - 1), 2)
    Mesyac = Right(Left(.Name, InStrRev(.Name, ".") - 4), 2)
    End With
    ' поиск номера ячейки содержащей
    Dim Rngt As Range
    Dim lRow As Long, lCol As Long, sAddress As String
    Set Rngt = Cells.Find("ФО за " & Den & "." & Mesyac, , xlFormulas, xlWhole)
    If Rngt Is Nothing Then
    MsgBox "Название файла должно заканчиваться на МесяцТочкаДень, типа:" & Chr(10) & "                    12.30" & Chr(10) & _
    "          Либо на листе Было в строке 8" & vbCrLf & "                             отсутствует запись: ФО за " & Den & "." & Mesyac
    Exit Sub
    End If
    lRow = Rngt.Row  'строка, где было найдено слово
    lCol = Rngt.Column 'столбец, где было найдено слово
    sAddress = Rngt.Address 'адрес ячейки, где было найдено слово ПЛЮС ДВЕ СТРОКИ как сделать?
    ' sAddress.Offset(2, 0) ' не работает...
    'ActiveSheet.Range("$A$10:$FF$1465").AutoFilter Field:=lCol, Criteria1:="<>"
[/vba]

Собственно нужно отфильтровать пустые ячейки по столбцу с найденным значением
К сообщению приложен файл: objomy_ooo_gaz_mjas_r3_agro_oz.xlsm (16.2 Kb)


Сообщение отредактировал timo64uk - Четверг, 12.12.2024, 12:36
 
Ответить
СообщениеПрошу помощи вновь.
Нашел ячейку содержащую искомое значение "ФО за 09.12" это E8
И теперь не могу спуститься ниже данной ячейки на две строки, где проходит строка с автофильтром, чтобы "отфильтроваться" по критерию убрав пустые ячейки.
Массив автофильтра идет от 11 строки и до последней заполненной строки найденного столбца (в примере это E).

[vba]
Код
With ActiveWorkbook
    Den = Right(Left(.Name, InStrRev(.Name, ".") - 1), 2)
    Mesyac = Right(Left(.Name, InStrRev(.Name, ".") - 4), 2)
    End With
    ' поиск номера ячейки содержащей
    Dim Rngt As Range
    Dim lRow As Long, lCol As Long, sAddress As String
    Set Rngt = Cells.Find("ФО за " & Den & "." & Mesyac, , xlFormulas, xlWhole)
    If Rngt Is Nothing Then
    MsgBox "Название файла должно заканчиваться на МесяцТочкаДень, типа:" & Chr(10) & "                    12.30" & Chr(10) & _
    "          Либо на листе Было в строке 8" & vbCrLf & "                             отсутствует запись: ФО за " & Den & "." & Mesyac
    Exit Sub
    End If
    lRow = Rngt.Row  'строка, где было найдено слово
    lCol = Rngt.Column 'столбец, где было найдено слово
    sAddress = Rngt.Address 'адрес ячейки, где было найдено слово ПЛЮС ДВЕ СТРОКИ как сделать?
    ' sAddress.Offset(2, 0) ' не работает...
    'ActiveSheet.Range("$A$10:$FF$1465").AutoFilter Field:=lCol, Criteria1:="<>"
[/vba]

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

Автор - timo64uk
Дата добавления - 12.12.2024 в 12:35
and_evg Дата: Четверг, 12.12.2024, 13:04 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 469
Репутация: 82 ±
Замечаний: 0% ±

Excel 2007
А зачем переходить на 2 строчки ниже?
Оставьте только:
[vba]
Код
ActiveSheet.Range("$A$10:$FF$1465").AutoFilter Field:=lCol, Criteria1:="<>"
[/vba]
 
Ответить
СообщениеА зачем переходить на 2 строчки ниже?
Оставьте только:
[vba]
Код
ActiveSheet.Range("$A$10:$FF$1465").AutoFilter Field:=lCol, Criteria1:="<>"
[/vba]

Автор - and_evg
Дата добавления - 12.12.2024 в 13:04
Nic70y Дата: Четверг, 12.12.2024, 13:16 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 9028
Репутация: 2374 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
sAddress = Rngt.Offset(2, 0).Address
[/vba]или[vba]
Код
sAddress = Cells(lRow + 2, lCol).Address
[/vba]а может
[vba]
Код
    lRow = Rngt.Row 'строка, где было найдено слово
    lCol = Rngt.Column 'столбец, где было найдено слово
    ActiveSheet.Range(Cells(lRow + 2, lCol), "$FF$1465").AutoFilter Field:=lCol, Criteria1:="<>"
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
sAddress = Rngt.Offset(2, 0).Address
[/vba]или[vba]
Код
sAddress = Cells(lRow + 2, lCol).Address
[/vba]а может
[vba]
Код
    lRow = Rngt.Row 'строка, где было найдено слово
    lCol = Rngt.Column 'столбец, где было найдено слово
    ActiveSheet.Range(Cells(lRow + 2, lCol), "$FF$1465").AutoFilter Field:=lCol, Criteria1:="<>"
[/vba]

Автор - Nic70y
Дата добавления - 12.12.2024 в 13:16
timo64uk Дата: Пятница, 13.12.2024, 02:21 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 1 ±
Замечаний: 0% ±

Office16
Оставьте

Спасибо. Зациклился на том, что не могу спуститься через Range. Даже дошел до темы с возможностью перевести числовые значения столбцов в буквенные обозначения.
Range(Cells(lRow + 2, lCol)

Спасибо.
 
Ответить
Сообщение
Оставьте

Спасибо. Зациклился на том, что не могу спуститься через Range. Даже дошел до темы с возможностью перевести числовые значения столбцов в буквенные обозначения.
Range(Cells(lRow + 2, lCol)

Спасибо.

Автор - timo64uk
Дата добавления - 13.12.2024 в 02:21
  • Страница 1 из 1
  • 1
Поиск:

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