![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.03.2012
Сообщений: 25
|
![]()
Здравствуйте. Я впервые работаю с VBA и довольно плохо в нем разбираюсь. У меня вот такое задание:
Написать макрос, вычисляющий значение функции ЗаработнаяПлата(Оклад, Стаж): Cтаж Доплата менее 5 лет 5% 5 лет 6% 6 лет 7% от 7 до 10 лет 10% от 10 до 25 лет 20% более 25 лет 30% Результат вывести на рабочем листе. Я написала код: Sub plata() Function ЗаработнаяПлата(Оклад, Стаж) Select Case Стаж Case Is < 5 ЗаработнаяПлата = Оклад * 0.05 + Оклад Case 5 ЗаработнаяПлата = Оклад * 0.06 + Оклад Case 6 ЗаработнаяПлата = Оклад * 0.07 + Оклад Case 7 To 10 ЗаработнаяПлата = Оклад * 0.1 + Оклад Case 10 To 25 ЗаработнаяПлата = Оклад * 0.2 + Оклад Case Is > 25 ЗаработнаяПлата = Оклад * 0.3 + Оклад End Select End Function End Sub В чем моя ошибка? |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Что ж Вы все в кучу свалили?
![]() Код:
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.03.2012
Сообщений: 25
|
![]()
Хороший вариант, но мне нужно, чтобы считалось от таблицы. Может нужно в самом макросе указать границы таблицы? Я правда не знаю
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 22.06.2011
Сообщений: 325
|
![]()
ну так давайте в точку вызова
msgbox ЗаработнаяПлата(300, 8) в цикле или как там у вас (не видя файла сказать сложно) данные из таблицы
Заказать макрос можно на сайте http://excel4you.ru/
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
А я и подавно не знаю. Покажите таблицу, покажите желаемый результат.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 11.03.2012
Сообщений: 25
|
![]()
Ну, таблица предполагается большая...
|
![]() |
![]() |
![]() |
#7 | |||
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
![]() Цитата:
Цитата:
Цитата:
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
|||
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Да не надо нам большую. Пример, строк на 15-20.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 11.03.2012
Сообщений: 25
|
![]()
Имя Оклад Стаж ЗаработнаяПлата
Петренко 2000 4 Макаров 2000 5 Сучкин 2000 6 Ведковский 2000 10 Камилин 2000 30 Пока примерно такая таблица. А результат должен быть на рабочем листе |
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Ну вот зачем! Что теперь мне с экрана на лист заносить? Нельзя было в файле пример выложить? Пишите в D2:
=ЗаработнаяПлата(B2, C2) и протягивайте вниз.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка в макросе сравнения таблиц | ZorDMV | Microsoft Office Excel | 8 | 01.05.2013 11:41 |
Ошибка в макросе | runik | Microsoft Office Excel | 5 | 19.11.2012 17:28 |
ВПР в макросе (где-то ошибка) | Флина | Microsoft Office Excel | 3 | 26.01.2011 04:55 |
Ошибка в макросе по переносу данных | Richard123 | Microsoft Office Excel | 2 | 19.01.2011 09:16 |
Почему, ошибка в макросе | valerij | Microsoft Office Excel | 8 | 27.02.2010 01:48 |