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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2010, 16:55   #1
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию Рассчитать и вывести значение

Добрый вечер (день, ночь)!
Подскажите, пожалуйста, как в макросе рассчитать и вывести значение по параметрам, указанным в ячейке "G3" вложения?
С функцией "SUM" получается, а "SUMPRODUСT" - нет. Пыталась всяко, и так как в примере, и "Application.WorksheetFunction" , все равно говорит, что несоответствие типов.
Вложения
Тип файла: rar Получить значение.rar (7.1 Кб, 15 просмотров)
kipish_lp вне форума Ответить с цитированием
Старый 06.06.2010, 20:12   #2
aval
Пользователь
 
Регистрация: 08.06.2009
Сообщений: 68
По умолчанию

А нельзя ли проще - в любую ячейку, например "G3", поставить формулу, а в модуле написать
Dim answer As String
answer = Application.WorksheetFunction.Fixed (Range("G3").Value, 2)
(Fixed - чтобы отображалось два знака после запятой)
aval вне форума Ответить с цитированием
Старый 07.06.2010, 05:09   #3
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Дело в том, что я пытаюсь написать большую обработку всей книги, там куча листов, куча переменных. Мне эта формула подходит для заполнения ячеек. Но если в ячейки вписывать формулу, то книга вообще никогда не откроется из-за перерасчета. Вот я и решила расчитать данные по формуле программно, а потом в нужные места результаты вставить (коих много).
kipish_lp вне форума Ответить с цитированием
Старый 07.06.2010, 12:50   #4
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Ну пожалуйста, ну хотя бы где почитать. Я 2 дня убила на это. Ничего не могу найти.
kipish_lp вне форума Ответить с цитированием
Старый 07.06.2010, 17:37   #5
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Вы об этом?

Код:
x = 2: y = 3
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R" & x & "C" & y & ":R28C2 =""Отдел1"")*(R2C3:R28C3=""Парам1"")*(R2C1:R28C1=""Январь"")*(R2C5:R28C5))"
EugeneS вне форума Ответить с цитированием
Старый 07.06.2010, 17:49   #6
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

К сожалению, нет.
Код:
ActiveCell.FormulaR1C1
Записывает формулу в активную ячейку, а мне не надо формулу, мне надо получить значение и вывести именно ответ. Я не студент, мне не надо решать задачи, мне для работы надо. Я не могу правильно записать в vba этот sumproduct. Пробовала с Evaluate, говорит, что несоответствие типов. Я делаю что-то неправильно. Что? В примере я вывожу именно в сообщение, чтобы проверить, то ли я получаю или нет.
kipish_lp вне форума Ответить с цитированием
Старый 07.06.2010, 18:18   #7
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

тоесть, например, создать макрос позволяющий произвести расчет подобный формуле и получить аналогичный результат?
EugeneS вне форума Ответить с цитированием
Старый 07.06.2010, 18:41   #8
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Да. Или просто рассчитать в макросе в переменной по формуле и вывести только результат.
kipish_lp вне форума Ответить с цитированием
Старый 07.06.2010, 21:00   #9
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Может так? Смотрите.
Вложения
Тип файла: rar Получить значение.rar (19.3 Кб, 23 просмотров)
nilem вне форума Ответить с цитированием
Старый 08.06.2010, 05:17   #10
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Да. Огромное спасибо. Я просто думала, может можно формулой расчитать. Еще раз, огромное спасибо!
kipish_lp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рассчитать значение п на основании бесконечного ряда fs444 Общие вопросы C/C++ 6 25.02.2010 14:48
(pascal) Рассчитать значение Y tkp_xx Помощь студентам 2 07.12.2009 01:12
определить и вывести на печать имя минимальной величины и ее значение. Babur4iK Паскаль, Turbo Pascal, PascalABC.NET 3 06.10.2009 17:39
Win32 как вывести на экран значение переменной STill_ace Общие вопросы C/C++ 11 22.08.2009 17:47