Облазил весь интернет, но так и не нашел похожих тем. Суть задачи: нужно через Private Sub активного листа сделать закрепление области шапки в таблице. Таблицы две. Т.е. чтобы при выполнении Скролла колесиком мышки (от A1 строчки ActiveWindow.SmallScroll Down:=6 и ниже) закреплялась шапка таблицы в строках 4:7 При дальнейшем скролле после ActiveWindow.SmallScroll Down:=33 - шапка в строках 34:37 и наоборот. Все это должно работать без выделения ячеек (не Private Sub Worksheet_SelectionChange) Надеюсь, понятно выразился
Облазил весь интернет, но так и не нашел похожих тем. Суть задачи: нужно через Private Sub активного листа сделать закрепление области шапки в таблице. Таблицы две. Т.е. чтобы при выполнении Скролла колесиком мышки (от A1 строчки ActiveWindow.SmallScroll Down:=6 и ниже) закреплялась шапка таблицы в строках 4:7 При дальнейшем скролле после ActiveWindow.SmallScroll Down:=33 - шапка в строках 34:37 и наоборот. Все это должно работать без выделения ячеек (не Private Sub Worksheet_SelectionChange) Надеюсь, понятно выразилсяrever27
как вариант - можно воспользоваться штатным средством "Представления" (вкладка Вид) в Вашем файле я создал два представления - с именами "_47" и "3437" применяете то или другое - закрепленная шапка будет меняться.
точнее - никаким прокручиванием вообще )
как вариант - можно воспользоваться штатным средством "Представления" (вкладка Вид) в Вашем файле я создал два представления - с именами "_47" и "3437" применяете то или другое - закрепленная шапка будет меняться.ikki
Karataev, События прокручивания - нету, но есть события Скролл Бара, он изменяется после прокрутки. [vba]
Код
Private Sub ScrollBar1_Change() ScrollBar1.Value = 1 ScrollBar1.Max = 20 ScrollBar1.Min = 1 ScrollBar1.LargeChange = 1 End Sub
[/vba]
Я представлю эту реализацию через .SmallScroll относительно первой строк с четко заданными параметрами, когда откреплять, а когда закреплять область. Что то на подобии такого кода, но только рабочего ))) [vba]
Код
With ActiveWindow Select Case .SmallScroll Case Is > 6: .FreezePanes = True Case Else: .FreezePanes = False End Select End With
[/vba]
ikki, Спасибо, но хотелось бы полного автоматизма, это все таки скорее макрос для удобства глаза, а не первой необходимости ))
Karataev, События прокручивания - нету, но есть события Скролл Бара, он изменяется после прокрутки. [vba]
Код
Private Sub ScrollBar1_Change() ScrollBar1.Value = 1 ScrollBar1.Max = 20 ScrollBar1.Min = 1 ScrollBar1.LargeChange = 1 End Sub
[/vba]
Я представлю эту реализацию через .SmallScroll относительно первой строк с четко заданными параметрами, когда откреплять, а когда закреплять область. Что то на подобии такого кода, но только рабочего ))) [vba]
Код
With ActiveWindow Select Case .SmallScroll Case Is > 6: .FreezePanes = True Case Else: .FreezePanes = False End Select End With
[/vba]
ikki, Спасибо, но хотелось бы полного автоматизма, это все таки скорее макрос для удобства глаза, а не первой необходимости ))rever27
скролл-бар в Вашем первом коде никакого отношения к прокручиванию листа и полосам прокрутки листа не имеет. это отдельный контрол, который Вы можете разместить на листе.
скролл-бар в Вашем первом коде никакого отношения к прокручиванию листа и полосам прокрутки листа не имеет. это отдельный контрол, который Вы можете разместить на листе.ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
ikki, Я понимаю, я в этом дилетант, просто есть есть управление контроллера, то я думал, можно и обычным скроллом управлять. А можно через Worksheet_SelectionChange проверку на текущий .SmallScroll, и от этого плясать?
ikki, Я понимаю, я в этом дилетант, просто есть есть управление контроллера, то я думал, можно и обычным скроллом управлять. А можно через Worksheet_SelectionChange проверку на текущий .SmallScroll, и от этого плясать?rever27
если Вы прокручиваете лист с помощью колесика или полос прокрутки - событие SelectionChange не возникает. кроме того, SmallScroll - это метод, а не свойство. проверять просто нечего.
если Вы прокручиваете лист с помощью колесика или полос прокрутки - событие SelectionChange не возникает. кроме того, SmallScroll - это метод, а не свойство. проверять просто нечего.ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki