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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2012, 14:40   #1
Dem_
Новичок
Джуниор
 
Регистрация: 01.12.2012
Сообщений: 2
По умолчанию корректирование стоимости с учетом скидки

Привет всем! Пожалуйста помогите решить очень сложную для меня задачу. Меня попросила моя девушка помочь, ну как тут откажешь. Сижу уже три часа, никак не могу понять как его сделать
Вот мое условие:
Книжный магазин имеет определенное количество покупателей, если покупатели являются постоянными клиентами магазину, то они имеют постоянную скидку 10%, если нет то они не получают скидку.
В прикрепленном файле, уже есть макрос, вот только он работает для одной строки, а если у меня их будет 1000.
Код макроса
Код:
Sub Books()
kilkist = Лист1.Cells(2, 2)
cina = Лист1.Cells(2, 3)
If Лист1.Cells(2, 4) = "Ні" Then
a = kilkist * cina
Лист1.Cells(2, 5) = a
End If
If Лист1.Cells(2, 4) = "Так" Then
a = kilkist * cina * 0.9
Лист1.Cells(2, 5) = a
End If
End Sub
http://turbobit.net/k1vr4n512b38.html
Dem_ вне форума Ответить с цитированием
Старый 01.12.2012, 15:09   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Два замечания:
1. Файл намного проще упаковать и прекрепить к сообщению на форуме.
2. Для решения Вашей задачи (Вашей девушки) достаточно ввести в яч.D4 формулу
Код:
=ЕСЛИ(D2="Так";(B2*C2)-B2*C2/10;B2*C2)
и протянуть ее на нужное количество строк.
Вместо Hi можно писать что угодно, или вообще ничего не писать.

так
Код:
=ЕСЛИ(D2="Так";(B2*C2)*90%;B2*C2)
тоже вроде правильно считает
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 01.12.2012 в 15:15. Причина: дополнение
VictorM вне форума Ответить с цитированием
Старый 01.12.2012, 15:15   #3
Dem_
Новичок
Джуниор
 
Регистрация: 01.12.2012
Сообщений: 2
По умолчанию

А как макросом можно реализовать?
Dem_ вне форума Ответить с цитированием
Старый 01.12.2012, 15:30   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

ну, уж если так нужно макросом, обратите внимание на циклы
Управляющие структуры ... Циклы
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 01.12.2012, 17:05   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вот вам макрос:
Код:
Sub Yes()
  [e2].Resize([b2].End(xlDown).Row - 1, 1).FormulaR1C1 = "=RC[-3]*RC[-2]*IF(RC[-1]=""Так"",9/10,1)"
End Sub
и будьте счастливы!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу вычисления стоимости покупки с учетом скидки на языке Delphi _Алексей_ Помощь студентам 4 31.05.2012 16:24
Новогодние скидки Bustle Свободное общение 4 30.12.2011 10:23
расчет скидки kokos987 Помощь студентам 2 07.06.2011 17:37
С++ Корректирование печальки Fackey Помощь студентам 0 08.12.2010 21:17
Продажа и скидки Wander Microsoft Office Excel 0 07.06.2010 08:39