Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 369
Благодарности: 49

Профиль | Отправить PM | Цитировать


Шаг 1: Сохраняем ваш файл с таблицей расчёта как копию (или выбираем в меню программы - "сохранить как..") и в дальнейшем работаем с копией оригинального файла, чтобы в случае чего не запороть
оригинальный файл.
Ваша таблица должна выглядеть так : № п\п, Тип налога, Доход, Налог.
В строке меню программы Exel там где Файл, Правка, Вид - выбираем Сервис - вниз по списку Макрос и далее выбираем и щелкаем по "Начать запись."
В появившемся окне в строчке имя макроса - пишем латинскими буквами (например typ_naloga). В поле сочетание клавиш - выбираем латинскую букву (например - d). Жмём ОК. Появляется маленький прямоугольник с квадратиком и ещё каким то значком. Это не трогаем. В таблице щёлкаем по ячейке с надписью "№ п\п". Теперь в маленьком прямоугольнике с квадратиком и значком - щелкаем по квадратику. Запись макроса остановлена. В меню выбираем Сервис - Макрос - Макросы. В появившемся окне выбираем наш макрос - typ_naloga и нажимаем кнопку "Изменить". Попадаем в окно текста программы- макроса. В конце текста есть слова End Sub. Ставим курсор перед End и жмём Enter. Переводим курсор на появившуюся пустую строку. В эту строку копируем текст програмки приведённый ниже
Вот он:
k = Range("A3").CurrentRegion.Rows.Count

For y = 1 To k - 1
Range("A3").Activate
Selection Offset(y, 1).Select
typ = ActiveCell.Value
Selection.Offset(0, 1).Select
doh = ActiveCell.Value
If typ = "A" Then
nal = doh * koef1
ElseIf typ = "B" Then
nal = doh * koef2
ElseIf typ = "C" Then
nal = doh * koef3
ElseIf typ = "D" Then
nal = doh * koef4
ElseIf typ = "E" Then
nal = doh * koef5
ElseIf typ = "F" Then
nal = doh * koef6
ElseIf typ = "G" Then
nal = doh * koef7
ElseIf typ = "H" Then
nal = doh * koef8
ElseIf typ = "I" Then
nal = doh * koef9
ElseIf typ = "J" Then
nal = doh * koef10
ElseIf typ = "K" Then
nal = doh * koef11
ElseIf typ = "L" Then
nal = doh * koef12
ElseIf typ = "M" Then
nal = doh * koef13
ElseIf typ = "N" Then
nal = doh * koef14
Else: MsgBox ("Неправильно введенный тип налога. Повторите ввод")
GoTo 100
End If
Selection.Offset(0, 1).Select
ActiveCell.Value = nal
Next y

90 MsgBox ("Все налоги посчитаны.")
100
(конец текста програмки)
После метки 100 - должны стоять слова End Sub.

Поскольку я не знаю ваших названий типов налогов и их расчётные коэффициенты, в тексте програмки, вместо заглавных латинских букв в кавычках - впишите между кавычек названия ваших налогов(коротко из 3-4 латинских букв), а в формулах расчёта вместо koef1;koef2...koef14 -впишите расчётные коэффициенты для этих налогов. Строчка начинающаяся со слова nal - это формула расчёта налога. Здесь Вы можете
соответственно умножать(*), делить(\), вычитать(-), складывать(+)и
применять скобки для составления более сложных формул по расчёту налога. После всех изменений имен типов налогов и формул расчёта этих налогов -закрыть окно макроса. Сохранить файл. Закрыть его. Затем вновь открыть. В окне Запускать макросы - выбрать запускать макросы. и нажать ctrl+d. Всё
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:35, 13-06-2008 | #434