Страницы: 1 2 3 След.
RSS
Привязать пользовательскую функцию к кнопке
 
Здраствуйте, Светлые умы...  
в поиске ничего не нашел...  
У меня очень много пользовательских функций и находить в них необходимые стало сложновато,  
Не подскажите можно ли привязать функцию к кнопке...
 
Макрос можно привязать.  
И будет очень много кнопок :)
 
Странно... В функцию обычно передаются параметры, над которыми эта функция работает. А что передаст Ваша кнопка? Потому и не нашел...
Я сам - дурнее всякого примера! ...
 
А чем мастер функций не кнопка?
 
сейчас через мастер функций получается несколько шагов  
1. кнопка "мастер функций"  
2. выбрать категорию, "определенные пользователем"  
3. из более чем 40 функций найти одну-единственную  
4. задание параметров функции  
 
а так бы нажал на кнопку и начал и ввел параметры, пропуск шага 2 и 3...
 
Hugo - как выглядит макрос вызывающий функции, типа    
 
Sub ShowForm()  
  UserForm1.Show  
End Sub  
 
для UserForms
 
{quote}{login=Гость}{date=20.08.2010 01:40}{thema=}{post}как выглядит макрос вызывающий функции, типа    
 
Sub ShowForm()  
  UserForm1.Show  
End Sub  
 
для UserForms{/post}{/quote}  
 
макрос, вызывающий форму UserForms, выглядит так:  
Sub ShowForm()  
  UserForms.Show  
End Sub  
 
Ну, прямо "Поле чудес" какое-то:  
"...Игрок угадал все буквы, но не смог назвать слова ..."  
:)
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Алекс, у меня есть ещё вариант:  
Макрос1()  
Call  ShowForm  
End Sub  
:-))
 
:))), видимо не правильно меня поняли, я имел ввиду что мне нужно что-то подобное только для вызова функции...  
или такого нет и я зря ищу...
 
А Вы их просто запоминайте. Пишите название в строке функций (например =sum), жмёте на = - получаете 4. задание параметров функции
 
Да ладно вам, накинулись на человека. Не всем же быть гурами:-) Погодите, он еще всем вам покажет!
Я сам - дурнее всякого примера! ...
 
Hugo - Не, сложно  
 
1. Функции хранятся в PERSONAL поэтому нужно юудет каждый раз прописывать =PERSONAL.XLS!... проще вручную найти...  
 
обидно, что к кнопке не прикрутить...(((((  
 
:)))KuklP - Спасибо за поддержку, я о том же самом подумал...)))))
 
Дык я, это... Второй накинулся.. О-о-паньки:-(
Я сам - дурнее всякого примера! ...
 
Ну если нужна одна определённая - можно на кнопку макрос посадить, который будет в активную ячейку определённый текст писать (т.е. формулу). Можно даже добавить форму с выбором десятка нужных. Но вот чтоб чразу п.4. вызывался - не знаю...
 
KuklP - Я предпочел не увидить твоего сарказма :)))))  
 
Hugo - Макрос который будет писать за меня... да, наверное вариант, только после этого вручную нужно будет нажать на кнопку мастер функций чтобы excel выдал форму для ввода параметров функции (шаг 4)...  
 
Да, сложно все....
 
Кнопка и текст - за Вами :)  
 
Sub PasteFunc()  
ActiveCell.NumberFormat = "general"  
ActiveCell.Formula = "=PERSONAL.XLS!getnumeric"  
End Sub
 
Hugo - Спасибо, что то вроде того, но как я уже написал ранее при этом варианте для того чтобы появилось окно для ввода аргументов функции приходится еще и нажимать на кнопку "Вставка функций", хотелось бы конечно одной кнопкой справится...  
но тем не менее все равно спасибо, этот вариант быстрее моего копания в пользовательских функциях...
 
{quote}{login=Гость}{date=20.08.2010 03:58}{thema=}{post}KuklP - Я предпочел не увидить твоего сарказма :))))){/post}{/quote}  
Дык, не было этого... сарказма. Зря Вы так.
Я сам - дурнее всякого примера! ...
 
KuklP - По ходу я уже запутался, короче без обид...  
 
И еще вопросик по теме...    
Предложенный Hugo вариант имеет право на жизнь, только вот если в конец его макроса вставить вызов мастера функций (конпrа Fx в Excel)... ведь это же кнопка, соответсвенно к ней привязан макрос, можно его как то узнать и вообще можно как то узнать код стандартных кнопок в excel???
 
будьте добры, прокоментируйте если на мой вопрос нет ответа,  
просто жду и не понимаю, никто не знает или просто всем неважно
 
Я сам, вообще-то уже привык вызывать свои UDF через "Определённые пользователем"  
Но в принципе, наверное, действительно, можно было бы упростить жизнь если бы при нажатии кнопулечки на панели управления сразу бы вываливался этот список "Определённых пользователем" и из него можно было бы выбирать, что вводить в активную ячейку.  
Но не знаю, стОит биться из-за такого мизерного ускорения работы?  
Можно сравнить предполагаемые последовательности действий.  
СТАНДАРТНЫЙ:  
1. Выбираем ячейку, нажимаем fx  
2. Выбираем в листбоксе категорию "Определённые пользователем"  
3. Выбираем в открывшемся листбоксе требуемую UDF    
 
ПРЕДПОЛАГАЕМЫЙ:  
1. Выбираем ячейку, нажимаем "кнопулечку"  
2. —  
3. Выбираем в открывшемся листбоксе требуемую UDF    
 
Ну и что, так долго что ли выбрать категорию "Определённые пользователем" из списка?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Alex_ST - В вашем варианте конечно же нет особого ускорения работы,  
но если последовательность описать в следующем виде...  
1 нажимаем кнопку которая в активной ячейке пропмсывает имя функции  
 
Sub PasteFunc()  
ActiveCell.NumberFormat = "general"  
ActiveCell.Formula = "=PERSONAL.XLS!getnumeric"  
End Sub  
 
2 нажимаем кнопку Fx, которая открывает аргументы функции...  
 
уже в разы быстрее, но хочется дописать к действию 1 и действие 2, был бы вообще шик...    
 
Понятно что к каждой функции такой кнопки не нарисуешь, но к 5 наиболее используемым вполне...  
Выложу пример того что получилось, может понятней будет...
 
{quote}{login=Гость}{date=24.08.2010 10:59}{thema=}{post}... в конец его макроса вставить вызов мастера функций (кнопка Fx в Excel){/post}{/quote}  
Application.Dialogs(450).Show
 
СПАСИБО БОЛЬШОЕ!!! Уважаемый ZVI!!!!  
 
Как всегда все гениальное просто!!!  
 
Всем так же спасибо за помощь!!!!  
 
Итоговый макрос для вызова пользовательской функции:  
 
Sub Call_UDF()  
ActiveCell.NumberFormat = "general"  
' Здесь укажите имя функции  
ActiveCell.Formula = "=PERSONAL.XLS!getnumeric"  
Application.Dialogs(450).Show  
End Sub
 
Ну вот, а у меня на 2000 не то вылазит - выбор формулы... :(
 
:)  
 
Sub ttt()  
On Error Resume Next  
For i = 1 To 460  
Application.Dialogs(i).Show  
Next  
End Sub  
 
Удобно Esc скипить...
 
Hugo - Вам отдельное спасибо за поддержку!  
 
А макрос который вы выложили сейчас ужастно интересен, единственное, прикрутить бы туда чтобы он в ячейке, скажем А1 отображал порядковый номер диалогового окна, в противном случае считать придется...
 
Так есть    
Application.Statusbar = i  
Это я чуть позже протестировал.  
Интересный один диалог есть - без лишних слов письмо с текущей книгой создпёт :)
 
Круто!  
Только как бы имена диалоговых окон получить, а не их сами...  
А то ведь столько раз "Отмена" нажимать чтобы до нужного диалога добраться...  
Игорь, а какой номер диалога выбора из списка UDF у тебя?  
У меня в 2003 тоже по 460 на выбор функции вылетает...
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
450 - вместо задания опций выбор функции.  
Но один раз сработало - показало опции. Или показалось... Наверное надо как-то к формуле этот диалог привязать.
Страницы: 1 2 3 След.
Читают тему
Наверх