Я новичок в VBA.Я нашел часть своего решения, но все примеры, которые я видел, не соответствуют тому, что мне нужно.
У меня есть кнопки вверх и вниз в форме VBA, которые должны показывать данные из отфильтрованного набора.Я выяснил, что я могу применить фильтр, используя этот код:
Dim LR As Long
LR = Range("A" & rows.Count).End(xlUp).Row
Range("A3:AM" & LR).SpecialCells(xlCellTypeVisible).Select
, и это хорошо работает.
Теперь мне нужно перейти вверх и вниз по этим данным в зависимости от того,была нажата кнопка вверх или вниз, а затем получить данные из соответствующей строки и столбца.
Я знаю, что могу использовать цикл For
, подобный следующему:
For Each Row In Range("A1", Cells(rows.Count, "A").End(xlUp)).SpecialCells(xlCellTypeVisible)
GWEPId = Cells(Row.Row, 1)
Grip5Status = Cells(Row.Row, 4)
Next Row
но я не знаю, как это сделать, используя первый метод.
Если я нажму вниз, я хочу перейти к следующей отфильтрованной строке, а если я нажму вверх, я хочу вернуться к предыдущемуотфильтрованная строка.
Нужно ли поместить все данные в массив, а затем идти вверх и вниз из массива?Есть ли более простой способ?