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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2013, 21:50   #1
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
Восклицание Макрос подставляет формулы при нажатии на кнопку

Помогите пожалуйста составить макрос.

Необходимо написать макрос, при использовании которого на лист 2 подставляются формулы в поле, производят расчет.
Есть данные на листе «Расчет»


Есть лист «сводная таблица»

При нажатии на кнопку «Проставить формулы» на листе «Сводная таблица» подставляются формулы

В итоге получается

Кнопка «очистить поле» очищает столбец «B» «C» «D» на листе «Сводная таблица»
Вложения
Тип файла: rar расчет.rar (8.7 Кб, 9 просмотров)
Bocul вне форума Ответить с цитированием
Старый 28.08.2013, 22:26   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Смотрите, сделал для 2-х формул, дальше по аналогии.
Ну и очистка.
Вложения
Тип файла: zip расчет2.zip (12.8 Кб, 18 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 28.08.2013, 22:54   #3
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Смотрите, сделал для 2-х формул, дальше по аналогии.
Ну и очистка.
Спасибо вам, все понятно.

Еще дополнительный вопрос, возможно после использования формулы
PHP код:
=СЧЁТЕСЛИ(Расчет!C2:C6;"<=10"
превращать значение в число ?
Bocul вне форума Ответить с цитированием
Старый 28.08.2013, 23:01   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

возможно.
Можно просто скопировать значение полученное формулой и затем вставить "только значение", прмерно так
Код:
[b1].Copy
[b1].PasteSpecial Paste:=xlValues
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 28.08.2013, 23:36   #5
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
возможно.
Можно просто скопировать значение полученное формулой и затем вставить "только значение", прмерно так
Код:
[b1].Copy
[b1].PasteSpecial Paste:=xlValues
Спасибо Вам за помощь!
Bocul вне форума Ответить с цитированием
Старый 04.09.2013, 22:54   #6
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
возможно.
Можно просто скопировать значение полученное формулой и затем вставить "только значение", прмерно так
Код:
[b1].Copy
[b1].PasteSpecial Paste:=xlValues
Подскажите пожалуйста, возможно данные в параметре "<10" - брать из поля ввода или из ячейки и подставлять в формулу в Макрос?

PHP код:
=СЧЁТЕСЛИ(Расчет!C2:C6;"<=10"
Bocul вне форума Ответить с цитированием
Старый 04.09.2013, 23:16   #7
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Наверное я уже туплю, но ей Богу не пойму вопрос.
Что брать и куда подставлять?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.09.2013, 23:33   #8
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Наверное я уже туплю, но ей Богу не пойму вопрос.
Что брать и куда подставлять?
1. на листе "расчет" добавляем поле для ввода значений
2. настраиваем поле таким образом, что бы при вводе в это поле цифры подставлялись в макрос (в общую формулу расчета)

Изображения
Тип файла: jpg 1_1.jpg (95.0 Кб, 11 просмотров)
Bocul вне форума Ответить с цитированием
Старый 04.09.2013, 23:41   #9
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Теперь понятно.
Можно сделать так, применительно к первому макросу:
Код:
Sub Формулы()
    Значение = Sheets("Расчет").[k3]
    With Sheets("Сводная_таблица")
        .[b1].FormulaLocal = "=Расчет!C1"
        .[b2].FormulaLocal = "=СЧЁТЕСЛИ(Расчет!C2:C6;""<=" & Значение & """)"
        'и т.д.
    End With
End Sub
Вложения
Тип файла: zip расчет3.zip (13.1 Кб, 1 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.09.2013, 23:47   #10
Bocul
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Теперь понятно.
Можно сделать так, применительно к первому макросу:
Код:
Sub Формулы()
    Значение = Sheets("Расчет").[k3]
    With Sheets("Сводная_таблица")
        .[b1].FormulaLocal = "=Расчет!C1"
        .[b2].FormulaLocal = "=СЧЁТЕСЛИ(Расчет!C2:C6;""<=" & Значение & """)"
        'и т.д.
    End With
End Sub
Очень круто, спасибо Вам огромное!
Bocul вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимация при нажатии на кнопку Kapitan4ik Общие вопросы Delphi 7 26.10.2011 12:25
выборка из БД при нажатии на кнопку Dmitry1983 PHP 28 03.09.2011 14:28
диалоговое окно при нажатии на кнопку sbury JavaScript, Ajax 5 02.02.2011 15:31
при нажатии на кнопку Delete vik85 Помощь студентам 0 20.12.2009 20:34
прокрутка при нажатии на кнопку neformat JavaScript, Ajax 0 20.06.2008 20:40