powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Полосы прокрутки в ячейках :)
13 сообщений из 13, страница 1 из 1
Полосы прокрутки в ячейках :)
    #35897254
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня существует таблица (5x6). Каждая ячейка в ней - список компаний, попавщих в оперделённую категорию. С категориями, в которые входит множество компаний возникают трудности с просмотром.
Задумался над возможностью создания ScrollBar и прогкручивания части ячеек, входящих в выделенную категорию.

Подскажите, возможно ли такое на листе excel, или лучше воспользоваться Userform?
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897309
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приходит в голову на лист где-нить справа выводить полные списки для каждой категории, а затем, по наступлении события,
Код: plaintext
Private Sub ScrollBar1_Change() 
изменять ссылки подконтрольного диапазона, таким образом просматривая всю область.

Есть идеи лучше?
Спасибо!
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897328
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не мучай зверюшку. Не предназначен Эксель для таких наворотов.
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897337
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможность же существует. Да и меня кажется, что не такие уж это навороты...
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897416
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите 2 вещи:
1) как заставить скролл перестать мигать?
Вычитал это:1. LargeChange - это свойство нужно для установки скорости передвижении ползунка, если нажимать на саму полосу прокрутки, ну короче смотри сам.
2. SmallChange - а вот это свойство отвечает за скорость передвижения ползунка, при нажатии на скрулбаровскую кнопку (их всего две )
3. Value - ну это свойство самое главное, без него скрулбары вообще были не нужны, оно определяет где находится ползунок.
4. TabStop - это свойство заставляет ползунок мигать - убери его.
http://www.vbnet.ru/forum/show.aspx?id=153321Только вот не нашёл я в свойствах скорлла TabStop...

2)У меня будет >10 скроллов на страницу. неужели под каждый из них необходимо писать код заново????? по сути, там всё будет одинаково!!!!
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897586
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкладываю свой шедевральный пример со скроллом. Если кто поможет, буду благодарен!
1) Заставить его перестать мигать
2) как-нить сделать так, чтобы добавить ещё 10 таких скроллов и ячеек к ним без 10 кратного дублирования кодов vba. Может показывать/скрывать скролл в зависимости от того, какой диапазон ячеек активен?
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897626
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну чтобы не повторять код каждый раз можешь сделать примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Private Sub ScrollBar1_Change()
    sb_change "ScrollBar1", ActiveSheet.Range("p2"), ActiveSheet.Range("a2:b10")
End Sub

Private Sub ScrollBar2_Change()
    sb_change "ScrollBar2", ActiveSheet.Range("p2"), ActiveSheet.Range("f2:g10")
End Sub


Private Sub sb_change(ScrollBarName As String, BaseRange As Range, WindowRange As Range)
    SB = OLEObjects(ScrollBarName).Object.Value
    nd1 = BaseRange.End(xlDown).Row
    
    If nd1 =  65536  Or nd1 <=  9  Then
        OLEObjects(ScrollBarName).Object.Max =  1 
    Else
        OLEObjects(ScrollBarName).Object.Max = nd1 -  9 
    End If

    For i =  1  To nd1 -  1 
        If i = SB Then
            For k% =  1  To  9 
                WindowRange.Cells(k,  1 ) = i + k -  1 
                WindowRange.Cells(k,  2 ) = BaseRange.Cells(i -  1  + k,  1 )
            Next
        End If
    Next
    ActiveCell.Activate
End Sub
Чтобы не моргало надо перебрасывать фокус обратно на лист (последняя команда макроса), но как-то оно срабатывает через раз. Сходу не пойму почему, а разбираться лениво.

PS: Не мучай зверушку, садист.
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897643
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А впрочем, чтобы они не мигали надо добавить для каждой полосы:
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub ScrollBar1_GotFocus()
    ActiveCell.Activate
End Sub

Private Sub ScrollBar2_GotFocus()
    ActiveCell.Activate
End Sub
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897663
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что такое таинственное свойство TabStop у скролла? написано, мигает из-за него. хз почему его нет, мож старый excel...
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35897667
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отдельное спасибо за возможность не повторять код, очень пригодится
White OwlЧтобы не моргало надо перебрасывать фокус обратно на лист Да, мигает, когда активен, гадёныш
White OwlНе мучай зверушку, садист.Я бы и рад, да access ни я, ни руководство не знает. так что отчёт в excel
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35901379
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBа что такое таинственное свойство TabStop у скролла? написано, мигает из-за него. хз почему его нет, мож старый excel...TabStop так в некоторых языковых системах обозначают флаг можно ли на контрол прийти нажимая Tab. Если у тебя на форме несколько полей ввода то тыкая Tab ты можешь прыгать с одного поля на другое. Если у какого-то поля стоит TabStop=false, то курсор перепрыгнет через это поле и пойдет дальше. Единственный способ активизировать такое поле - ткнуть в него мышью.
Мигает на самом деле не из-за него, а из-за того что OLE объект который в принципе не должен получать фокус этот фокус все-же получил. Вот он и возмущается...
PlanBЯ бы и рад, да access ни я, ни руководство не знает. так что отчёт в excel А кто предлагал Access? Да и вообще, начальству что-то там знать не положено. Это тебе надо знать на чем ты пишешь свою систему. А начальству это должно быть до лампочки.
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35901682
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwВот он и возмущается...Победить можно?
White OwlА начальству это должно быть до лампочки.Так и есть :)) ну это было что-то вроде щутки (кроме той части, где описывались я и access)..
Просто система должна быть отстроена и передана программистам на разработку. А пока ни я, как исполнитель, ни начальство, как заказчик не сосвсем представляют, что будет на выходе, тз ставить рано. нужен результат, мне проще издеваться над excel
...
Рейтинг: 0 / 0
Полосы прокрутки в ячейках :)
    #35904015
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBWhite OwВот он и возмущается...Победить можно?А это я для кого писал?
http://sql.ru/forum/actualthread.aspx?tid=650950#6987496
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Полосы прокрутки в ячейках :)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]