Страницы: 1
RSS
Шрифт выпадаюшего списка
 
Есть по 3 выпадаюших списка в ячейке( в примере наглядно видно), но беда в том, что шрифт этих списков слишком мал. В примерах этыт вопрос немного затрагивался и один человек отписал макрос,который при клике на ячейку со списком увеличивает масштаб листа, ну а при клике по любой другой ячейке, соответственно, уменьшает. Вот он:  
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
On Error Resume Next: res = ActiveCell.Validation.Type  
ActiveWindow.Zoom = IIf(res = 3, 150, 100)  
End Sub  
 
У меня он не получился( работаю в 2010-ом, может из-за этого не получается). Может есть всетаки решение задачи без макросов? Неужели в Экселе непредвидели эту проблему???    
Благодарен за любой совет.
 
макрос работает. файл бредовый) xl 07
 
{quote}{login=Dophin}{date=19.04.2010 12:14}{thema=}{post}макрос работает. файл бредовый) xl 07{/post}{/quote}  
 
Может я что-то не так делаю? Нажимаю по ярлыку листа (внизу), выбрать "исходный текст" и в появившемся окне вставить код. Закрываю VB.  
Пикаю на любой список, ячейку, текст - результата ноль.
 
{quote}{login=Dophin}{date=19.04.2010 12:14}{thema=}{post} файл бредовый){/post}{/quote}  
 
бредовый не то слово((( аж руки опускаются. Наверно есть намного проше пути создания распмсания(пример), но вся тонкость в том, что после создания расписания , мне надо создать кнопку, при нажатии на которую расписание автоматически публекуется на сайте нашего института. А для этого надо привязки полей Экселя и полей сайта. Эти привязки я и хотел реализовать с помощью списков. Понимаю, что это не относится к теме, но может ктото знает другой путь реализации всей моей задачи?    
Помогите.
 
> после создания расписания , мне надо создать кнопку, при нажатии на которую расписание автоматически публекуется на сайте нашего института  
 
Я бы начал с того, что отказался от этого шаблона расписания...  
 
Не знаю, как расписание должно выглядеть в excel (а, может, и вообще без excel обойтись - делать всё с использованием СУБД), но знаю одно - если вы оставите этот шаблон, на создание кнопки выгрузки уйдёт ОЧЕНЬ МНОГО времени.  
 
Делайте простенькую табличку, без всяких там украшательств,  
а потом на основании этой т.н. БД формируйте отчёт (расписание занятий) для выгрузки на сайт.
 
{quote}{login=k0k0}{date=19.04.2010 11:49}{thema=Шрифт выпадаюшего списка}{post}Есть по 3 выпадаюших списка в ячейке( в примере наглядно видно), но беда в том, что шрифт этих списков слишком мал. В примерах этыт вопрос немного затрагивался и один человек отписал макрос,который при клике на ячейку со списком увеличивает масштаб листа, ну а при клике по любой другой ячейке, соответственно, уменьшает. Вот он:  
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
On Error Resume Next: res = ActiveCell.Validation.Type  
ActiveWindow.Zoom = IIf(res = 3, 150, 100)  
End Sub  
 
У меня он не получился( работаю в 2010-ом, может из-за этого не получается). Может есть всетаки решение задачи без макросов? Неужели в Экселе непредвидели эту проблему???    
Благодарен за любой совет.{/post}{/quote}  
 
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
On Error Resume Next: res = ActiveCell.Validation.Type  
ActiveWindow.Zoom = IIf(res = 3, 150, 100)  
End Sub  
Доброго вечера!  
Макрос работает без проблем!  
А вот спецы не подскажут что в макросе нужно заменить,чтоб зоом работал не на ячейки с выподающим списком,а на диапазон ячеек к примеру Range("A1:E8")  
Заранее благодарю
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   ActiveWindow.Zoom = IIf(Intersect(Target, [A1:E8]) Is Nothing, 100, 150)
End Sub
 
{quote}{login=EducatedFool}{date=19.05.2010 06:17}{thema=}{post}Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   ActiveWindow.Zoom = IIf(Intersect(Target, [A1:E8]) Is Nothing, 100, 150)
End Sub{/post}{/quote}  
 
Классно!!! Спасибо!!!  
Хорошего вечера!!!!
 
Здравствуйте.  
манироты все разные и маштаб под каждый свой.  
Я написал функцию:  
 
...  
Call Zoom("A1:U1")  
...  
 
Function Zoom(dip)  
   Range(dip).Select  
   ActiveWindow.Zoom = True  
End Function  
 
Тогда получается что на любом мониторе на экране видны столбцы  с A по U  
Проблема в том что сбивается текущее выделение  
 
Как переделать эту функцию без что бы работала без: Range(dip).Select ?
 
Так что это возможно?
 
пока сделал так  
 
tmp = Selection.Address  
....  
Range(tmp).Select  
 
 
Если есть что по лучше пишите)
Страницы: 1
Читают тему
Наверх