Страницы: 1
RSS
Автоматическая прокрутка строк до строки с определенным текстом в ячейке
 
Нужен макрос для автоматической прокрутки строк, до строки с определенным названием, в определенном столбце. Например есть статус у различных заказов. Есть заказы которые отгружены и в ячейках столбца "А" текст "отгружено". Чтобы каждый раз не скролить к последней строке с ячейкой "отгружено", нужно чтобы при запуске файла отображалась последняя строка с такими данными, учитывая что есть заголовки которые не должны прокручиваться.
Изменено: val_kaz - 01.04.2024 18:45:56
 
Если забыть о прокручивании то нужно просто по кнопке встать на последнюю строку,, где в определенном столбце есть определенное слово, так?
Это делается реверсным поиском range.find c параметром searchdirection xlprevious от первой ячейки диаразона .
По вопросам из тем форума, личку не читаю.
 
Еще можно в начале таблицы сделать гиперссылку на последнюю ячейку с "отгружено",
Код
=ГИПЕРССЫЛКА("#A"&ПОИСКПОЗ("отгружено";A:A);"отгружено")
Алексей М.
 
Код
Sub Macros()
    Dim lastRow As Long
    Dim searchText As String
    Dim searchColumn As String
    Dim headerRows As Integer

    ' Текст и столбец для поиска
    searchText = "отгружено"
    searchColumn = "A"

    headerRows = 1

    lastRow = Cells(Rows.Count, searchColumn).End(xlUp).Row

    Dim i As Long
    For i = lastRow To 1 Step -1
        If LCase(Cells(i, searchColumn).Value) = LCase(searchText) Then
            ActiveWindow.ScrollRow = i
            Cells(i, searchColumn).Select
            Exit Sub
        End If
    Next i


    MsgBox "Строка с текстом '" & searchText & "' столбец не содержит" & searchColumn
End Sub
 
val_kaz, ищете ячейку и потом Application.GoTo Range("АдресЯчейки"), True
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
Еще можно в начале таблицы сделать гиперссылку на последнюю ячейку с "отгружено",Код=ГИПЕРССЫЛКА("#A"&ПОИСКПОЗ("отгружено";A:A);"отгружено")
Но ячейки с "отгружено будут пополняться и та которая была последней уже будет не последней
Цитата
Изменено: val_kaz - 02.04.2024 16:52:03
 
vilambo, Отлично все работает! А если усложнить задачу. Прокрутка начинает действовать если к примеру когда больше 25 строк заполнено. И при изменении данных , при добавлении строки с "отгружено" , на одну строку скролл вниз
Изменено: val_kaz - 02.04.2024 16:52:48
 
Цитата
написал:
Но ячейки с "отгружено будут пополняться и та которая была последней уже будет не последней
Вы добавляете строки, ссылка всегда будет на последнюю. Кликнете по ссылке и таблица прокрутится до последней ячейки с "отгружено"
Алексей М.
 
АlехМ, А куда вставлять код =ГИПЕРССЫЛКА("#A"&ПОИСКПОЗ("отгружено";A:A);"отгружено")? В ячейках статуса стоят формулы
Изменено: val_kaz - 02.04.2024 18:18:04
 
Цитата
написал:
куда вставлять
вставьте рядом с таблицей, протестируйте работу.
Потом подумайте где удобно расположить.
Алексей М.
 
Цитата
написал:
Еще можно в начале таблицы сделать гиперссылку на последнюю ячейку с "отгружено",Код=ГИПЕРССЫЛКА("#A"&ПОИСКПОЗ("отгружено";A:A);"отгружено")
Попробовал. При нажатии отправляет на 1124 строку. А данные вообще заканчиваются на 25 строке
 
val_kaz, Нужен файл пример. Без него трудно разобраться в ошибке
Алексей М.
 
Цитата
написал:
КодSub Macros()
   Dim lastRow As Long
   Dim searchText As String
   Dim searchColumn As String
   Dim headerRows As Integer

   ' Текст и столбец для поиска
   searchText = "отгружено"
   searchColumn = "A"

   headerRows = 1

   lastRow = Cells(Rows.Count, searchColumn).End(xlUp).Row

   Dim i As Long
   For i = lastRow To 1 Step -1
       If LCase(Cells(i, searchColumn).Value) = LCase(searchText) Then
           ActiveWindow.ScrollRow = i
           Cells(i, searchColumn).Select
           Exit Sub
       End If
   Next i


   MsgBox "Строка с текстом '" & searchText & "' столбец не содержит" & searchColumn
End Sub
Отлично все работает! А если усложнить задачу. Прокрутка должна работать при запуске файла и при изменении данных. Сейчас я запускаю с кнопки, а как сделать чтобы без кнопки в автоматическом режиме?
Изменено: val_kaz - 02.05.2024 17:30:52
Страницы: 1
Наверх