Ниже мы рассмотрим программу в Excel VBA, которая вычисляет общий объем продаж каждого работника в течение трех лет.

Ситуация:

Sales Calculator in Excel VBA

Остальные два листа имеет ту же установку, но с различными комбинациями месяцев и сотрудников, а также различными количествами продаж. Есть несколько способов расчета продаж всего каждого сотрудника в Excel, но мы увидим, что это может быть сделано в Excel VBA очень легко.

Поместите командную кнопку на листе и добавьте строки следующего кода:

  1. Во-первых, мы объявляем три переменные и один объект Worksheet. Одна переменная типа String, которую мы называем работника, одна переменная типа Integer мы называем общий, один объект Worksheet мы называем лист, и одна переменная типа Integer мы называем I.

Dim employee As String, total As Integer, sheet As Worksheet, i As Integer
  1. Мы инициализируем две переменные. Мы инициализируем общие переменные со значением 0. Мы используем функцию InputBox, чтобы получить имя сотрудника от пользователя.

total = 0

employee = InputBox("Enter the employee name (case sensitive)")

Enter Employee Name

  1. После того, как пользователь ввел имя сотрудника, мы хотим рассчитать общий объем продаж данного сотрудника. Учебное пособие состоит из трех листов.

Мы хотим, чтобы программа, которая до сих пор может быть использована, если листы будут добавлены в будущем. Поэтому мы используем следующую строку кода:

For Each sheet In Worksheets
  1. Мы начинаем другой для следующего цикла.

For i = 2 To 13
  1. Если введенное имя сотрудника совпадает с именем сотрудника в столбце B, Excel VBA добавляет число продаж к общей переменной. Добавьте следующие строки кода:

If sheet.Cells(i, 2).Value = employee Then

total = total + sheet.Cells(i, 3).Value

End If
  1. Не забудьте закрыть обе петли.

Next i

Next sheet
  1. И, наконец, мы выводим общий объем продаж работника с помощью MsgBox.

MsgBox "Total sales of " & employee & " is " & total
  1. Тест программы.

Результат Давида:

Sales Calculator Result