Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2011, 02:51   #1
johny_03
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 134
По умолчанию как запустить формулу посредством vba

как сделать выполнение формулы по клику vba
Код:
=СУММПРОИЗВ(($A$4:$A$369>=T5)*($A$4:$A$369<=U5)*("расход"=$C$2:$Q$2)*$C$4:$Q$369)
Заранее благодарен!
johny_03 вне форума Ответить с цитированием
Старый 23.12.2011, 10:08   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Вешаем на кнопку простейший макрос, (записал макрорекордером, немного подправил)
Код:
Sub Макрос1()
'
    ActiveCell.FormulaLocal = "=СУММПРОИЗВ(($A$4:$A$369>=T5)*($A$4:$A$369<=U5)*(""расход""=$C$2:$Q$2)*$C$4:$Q$369)"
  'Если формула больше не нужна, заменяем формулу полученным значением
       ActiveCell.Copy
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 23.12.2011, 10:30   #3
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Здравствуйте. Насколько я понял из поста
http://www.programmersforum.ru/showthread.php?t=180712
автору надо только application.calculate.
Ну или преобразовать в даты вставленные значения.
П.С. Без примера мы только гадаем.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 23.12.2011, 10:49   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Здравствуйте.
Цитата:
П.С. Без примера мы только гадаем.
Да это, собственно, как всегда))
Опять окажется, что вроде все так, только нужно "с перламутровыми пуговицами") (с)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 23.12.2011 в 10:52.
VictorM вне форума Ответить с цитированием
Старый 23.12.2011, 11:52   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

'Если формула больше не нужна, заменяем формулу полученным значением
ActiveCell.Value = ActiveCell.Value
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 23.12.2011, 14:20   #6
johny_03
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 134
По умолчанию

Вложил файл.
По умолчанию ячейки T4 и U4 должны быть пустыми, тогда ячейки S2 и S3 считают промежуток с 01 числа сегодняшнего месяца по сегодняшнее число.
Если в ячейках T4 и U4 заданы даты, то считается заданный промежуток и результат выводится в ячейки S6 и S7.
Всё как-бы работает, только если дату в ячейки T4 и U4 вводить вручную. А если через календарь, то не работает.
И по возможности хотелось бы выводить результат в одни и те же ячейки, т.е. в S2 и S3 в зависимости от того, задан интервал или нет.
Заранее всем спасибо!
Вложения
Тип файла: rar пример_книга750.rar (30.5 Кб, 10 просмотров)
johny_03 вне форума Ответить с цитированием
Старый 24.12.2011, 00:17   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код в модуль Листа
Снять в обоих LinkedCell на ячейки,и все пересчитает нормально
Код:
Private Sub Calendar1_AfterUpdate()
[T4] = CDate(Calendar1.Value)
Application.Calculate
End Sub

Private Sub Calendar2_AfterUpdate()
[U4] = CDate(Calendar2.Value)
Application.Calculate
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 24.12.2011, 19:36   #8
johny_03
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 134
По умолчанию

всё работает замечательно! Спасибо большое!
johny_03 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оглавление посредством VBA? tolikman Microsoft Office Word 3 15.10.2014 14:51
Запустить макрос WORD посредством DDE Елена Гох Microsoft Office Word 0 12.02.2011 08:21
Word VBA как вставить разрыв принудительный в формулу ? bdfy Microsoft Office Word 13 01.12.2010 08:06
как вставить формулу в vba Ilya_L Microsoft Office Excel 6 18.06.2010 09:10
VBA. Как воткнуть переменную String в формулу? svetlana_A Microsoft Office Excel 3 26.05.2009 09:20