0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 20
1

Ограничение прокрутки до последней строки/столбца

14.10.2021, 12:27. Показов 301. Ответов 0
Метки нет (Все метки)

Здравствуйте. Подскажите, пожалуйста, как реализовать такую задумку?
Имеется таблица, несколько листов, на каждом из них разное количество умных таблиц, => последняя заполненная строка у всех листов отличается. Я вручную скрыл все строки ниже последней заполненной, область под ней стала серой, но проблема в том, что при скролле колесом мыши можно прокрутить еще ниже, пока последняя строка не уйдёт вверх и вся рабочая область не станет серой. Можно ли ограничить эту прокрутку, чтобы последняя пустая строка оставалась всегда внизу?

Разумеется, погуглил, и нашел про ScrollArea в VBA, но проблема в том, последняя строка очень часто колеблется (то добавляются новые строки, то удаляются старые). Планирую чуть позже добавить автоскрытие строк и столбцов через макрос, но как сделать динамический диапазон в ScrollArea я не знаю.

Добавлено через 4 часа 12 минут
Накидал макрос:
Visual Basic
1
2
3
4
5
Sub Worksheet_Activate()
    lLastRow = Cells(Rows.Count, 1).End(xlUp).Row 'последняя непустая строка
    Rows(lLastRow +1 & ":1048576").EntireRow.Hidden = True 'скрыть строки под последней непустой до конца
    ActiveSheet.ScrollArea = Range(Cells(1, 1), Cells(lLastRow, 16384)).Address 'зона между первой и последней непустой СТРОКАМИ
End Sub
Со столбцами не стал заморачиваться по 2 причинам - во всех листах их одинаковое количество и оно не меняется (проще вручную скрыть), плюс ограничение по области [ячейка1]:[ячейка2] не позволяет выделять всю строку по нажатию на её номер, а мне это важно.
Казалось бы, на этом всё, но нет, эксель снова чудит. Если оставить как есть, то смысла в ScrollArea никакого, он так же прокручивается в серую "пустоту". Добавляя лишние пустые строки (в коде lLastRow + количество) иногда получается добиться чтобы последняя строка не уезжала вверх, но так же бывает, что не все строки снизу попадают в рабочее окно. Как это лечить - без понятия.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2021, 12:27
Ответы с готовыми решениями:

Вывести сумму первого столбца и первой строки, а так же последней строки и последнего столбца из матрицы
Здравствуйте, нужна помощь, нужно вывести сумму первой и последней строки а так же первого и...

Удаление последней строки и столбца в datagridview
Здравствуйте. Есть следующий код:...

SQL: поиск последней строки, последнего столбца
Добрый день. Подскажите, есть в SQL команды по поиску последней строки, столбца, в которых есть...

Найти сумму последней строки и последнего столбца матрицы.
Двум массив , если можно с объяснением строк :C Дан двумерный массив , заполненный случайным...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2021, 12:27

Получить данные из столбца последней строки в табличной части
Добрый день. Есть документ, в нем табличная часть произвольным количеством строк. Среди столбцов...

Сумма последней строки и последнего столбца VBA excel
Public Function S(C As Variant) As Integer Dim n, i, s1, s2 As Integer Dim R() As Variant n =...

Вывести номер первой,последней строки столбца матрицы размера M x N
Помогите, пожалуйста, совсем не понимаю как делать >_< "Дана целочисленная матрица размера M x N....

Найти скалярное произведение первого столбца и последней строки матрицы
Дана матрица А размерностью 8х8. Найти скалярное произведение первого столбца и последней строки.

Вычислить суммы элементов первого столбца и последней строки матрицы
Вычислить суммы элементов первого столбца и последней строки матрицы. Определить, какая из этих...

Записать значение последней строки из первого столбца DGV в переменную
Доброго времени суток ув. гуру!! Возник такой опрос , как записать значение последней строки из...

Выделение диапазона столбца от активной ячейки до последней строки имеющей текст
Добрый день! Подскажите решение проблемы. Есть данные которые заполнены в н-ом диапазоне, допустим,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.