Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/35: Рейтинг темы: голосов - 35, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 26
Excel

Как организовать рассчет Заработной платы работников и вывести в итог VBA

18.07.2019, 16:27. Показов 7174. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имееются таблички разбросанные по листам, каждый лист это число месяца, в каждой табличке есть список работников ФИО и их заработная плата за смену, в каждой смене список работников может изменяться как угодно, но есть общий список этих работников на отдельном листе, так вот подскажите плиз как мне вывести в итоговую таблицу (в списке работников) заработную плату каждого работника.
Для начала понял так:
1. Создаю массив диапазона ячеек (со списком работников)
2. Создаю цикл для перебора каждого листа и рассчетов в нем
А вот как мне собрать данные по ЗП с каждого листа и сплюсовать это в итог не мойму.
Присваивать каждому работнику переменную и условием проверять каждого работника и если истинна прибавлять к его же переменной?
Вот кусок моего представления с присваиванием переменной каждому работнику и вывод в результат:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Sub Рассчет()
 
Dim CalcSheet As integer
Dim WorkName1 As String
Dim WorkName2 As String
Dim WorkName3 As String
Dim WorkName4 As String
Dim WorkName5 As String
 
Dim Salary1 As Single
Dim Salary2 As Single
Dim Salary3 As Single
Dim Salary4 As Single
Dim Salary5 As Single
 
'Присваиваю переменным значения ячеек ФИО работников
WorkName1 = Sheets("Итог").Range("A1")
WorkName2 = Sheets("Итог").Range("A2")
WorkName3 = Sheets("Итог").Range("A3")
WorkName4 = Sheets("Итог").Range("A4")
WorkName5 = Sheets("Итог").Range("A5")
 
Поиск по листам работников и подсчет их ЗП
    For CalcSheet = 1 To 31
        For i = 1 To 5
            Name = Sheets(CalcSheet).Cells(i, 1)
            Salary = Sheets(CalcSheet).Cells(i, 2)
            If Name = WorkName1 Then
                Salary1 = Salary1 + Cells(i, 2)
            Else If Name = WorkName2 Then
                Salary2 = Salary2 + Cells(i, 2)
            Else If Name = WorkName23 Then
                Salary3 = Salary3 + Cells(i, 2)
            Else If Name = WorkName4 Then
                Salary4 = Salary4 + Cells(i, 2)
            Else If Name = WorkName5 Then
                Salary5 = Salary5 + Cells(i, 2)
            End If
        Next   
    Next
    'Ну и далее Вывод результата (ЗП) на лист со списком работников...
End sub
Понимаю что код совсем не годится поскольку в один день 2 смены, плюс работников далеко не 5 человек, ну и вывод результата будет выводиться на отдельном листе. Предполагаю все это сделать через массивы но не могу понять с чего начать.
Подскажите хотябы алгоритм.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.07.2019, 16:27
Ответы с готовыми решениями:

Форма №1 Сведения о распределении численности работников по размерам заработной платы
Добрый день. Появилась задача по формированию отчета для заполнения вышеуказанной формы. В стандартных отчетах есть отчет "Полный...

Найти долю нормального дохода в общем фонде заработной платы работников
Здравствуйте,помогите пожалуйста решить задачи по экономике

Выдать ФИО работников, заработная плата которых ниже средней заработной платы
Поля структуры: ФИО, должность,домашний адрес и заработная плата. Необходимо подсчитать среднюю заработную плату по отделу и выдать ФИО...

20
Часто онлайн
 Аватар для КостяФедореев
987 / 637 / 280
Регистрация: 09.01.2017
Сообщений: 2,080
19.07.2019, 10:39
Студворк — интернет-сервис помощи студентам
Indigo83, с литературой не помогу, учился интуитивно и на примерах, но говорят неплохой самоучитель у Уокенбаха
Коментарии к коду только вечером смогу написать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.07.2019, 10:39

Разработать функцию пользователя для расчёта среднемесячной заработной платы работников участка
Помогите пожалуйста разработать функцию пользователя для расчёта среднемесячной заработной платы работников участка. r=(i*(1-g)-h)/(1+h) ...

Напечатать ведомость для выплаты заработной платы, в которой указаны фамилии работников и заработанная каждым сумма
Здравствуйте, помогите с задачей. Хотя б часть кода нужна. Подойдет любой язык программирования Сведения о выполненных работах включают:...

Создать базовый класс Worker, организовать расчёт заработной платы
Помогите пожалуйста с заданием. Я создал сами классы, но я не понимаю как вывести сведения об объекте из них. Создать базовый класс...

Вывести название предприятия, в порядке убывания средней заработной платы
Здравствуйте! Нужна помощь, есть массив который имеет данные про предприятие: Название, Количество Сотрудников, и Суммарная заработная...

Вывести размер заработной платы сотрудника за вычетом подоходного налога
Информация о сотрудниках фирмы содержит: • Ф. И. О. сотрудника; • табельный номер; • количество отработанных часов за месяц; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru