Вертикальный ScrollBar рабочего листа
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Вертикальный ScrollBar рабочего листа Expand / Collapse
Автор
Сообщение
19.04.2007 16:17
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.11.2007 23:39
Сообщ.: 88, Visits: 810
На листе есть таблица, которая в разное время может занимать разное количество строк. .....
Как сделать что-то вроде этого:

With ScrollBarRows
.Min = 1
.Max = 'последняя занятая строка'
End With

ЗЫ: это код для формы, нужен аналогичный для рабочего листа
PSS: номер последней строки всегда известен
Сообщ. #912616
19.04.2007 18:25
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 14.12.2007 16:53
Сообщ.: 100, Visits: 1 707
Не очень понял, но может вам цитата из Help поможет

Private Sub UserForm_Initialize()

    ScrollBar1.Max = 400

    ScrollBar1.Min = 10

    ScrollBar1.Value = 100

  

    Frame1.TextBox1.Text = "Enter your text here."

    Frame1.TextBox1.MultiLine = True

    Frame1.TextBox1.WordWrap = True

   

    Frame1.Zoom = ScrollBar1.Value

End Sub

 

Private Sub ScrollBar1_Change()

    Frame1.Zoom = ScrollBar1.Value

    Label2.Caption = ScrollBar1.Value

End Sub

Сообщ. #912625
19.04.2007 18:43
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.11.2007 23:39
Сообщ.: 88, Visits: 810
Pavel55 (19.04.2007)
Не очень понял, но может вам цитата из Help поможет<

Не поможет.
Для ScrollBara на пользовательской форме я и сам привёл пример.
А мне нужно для скролбара на листе, тот что справа от ячеек.

Чтобы если я перетянул ползунок вниз, то как раз попал-бы на последнюю строку текущй таблицы

PS: Sheets(1).ScrollArea='Таблица' - не предлагать
Сообщ. #912627
20.04.2007 9:33
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 14.11.2008 9:56
Сообщ.: 19, Visits: 158
Excel (19.04.2007)

PS: Sheets(1).ScrollArea='Таблица' - не предлагать

Почему?

Сообщ. #912630
20.04.2007 11:15
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.11.2007 23:39
Сообщ.: 88, Visits: 810
vkodor (20.04.2007)
Почему?


Потому, что если вчера последняя строка в таблице была 10 000, а сегодня 100, хоть и сделать scrollarea= "A1:A100" , у скроллбара всё равно остаётся
Min=1
Max=10 000

Попробуйте в этом случае, пертаскивая такой ползунок, поперемещаться по 100-строковой таблице и вопрос отпадёт.

PS: По-моему без API не обойтись. Только вот кто бы функцию подсказал
Сообщ. #912633
20.04.2007 11:50
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 14.12.2007 16:53
Сообщ.: 100, Visits: 1 707
Если после того, как таблица сократилась с 10 000 до 100 удалять пустые строки (вручную или макросом), а потом сохранить файл, то ScrollBar сбрасывается и уже будет от 1 до 100
Сообщ. #912643
20.04.2007 18:30
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.11.2007 23:39
Сообщ.: 88, Visits: 810
Перерыв всё API склоняюсь к мнению, что задача не выполнима.
С помощью апи можно управлять скролбаром приложения, но не скролбаром листа :((

Private Declare Function FlatSB_SetScrollRange Lib "comctl32" (ByVal hWnd As Long, ByVal code As Long, ByVal nMinPos As Long, ByVal nMaxPos As Long, ByVal fRedraw As Boolean) As Long
Sub GGGG()
FlatSB_SetScrollRange Application.hWnd, 1, 20, 80, False
End Sub

Хотя надежда найти способ обратиться именно к скролбару листа ещё жива :)

Сообщ. #912668
20.04.2007 19:27
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 28.03.2008 22:19
Сообщ.: 118, Visits: 1 025
</