Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/функция Sumifs - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » функция Sumifs (Функции/Function)
функция Sumifs
tolkyn Дата: Вторник, 01.07.2014, 10:54 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте! Помогите пожалуйста найти ошибку в коде.
Задача состоит в том, что нужно просуммировать промежуточное время (разница между выходом и входом сотрудника за день ), тем самым получим количество часов, которое сотрудник был на работе.
На листе "vse" находятся номера всех сотрудников, дата входа/выхода и промежуточное время, а на "list" нужно вывести количество часов за день.
Я использовала функцию СУММЕСЛИМН, но в результате получается 0. :(
[vba]
Код


Sub ЧАСОВ_ЗА_ДЕНЬ()
Worksheets("list").Activate
Dim m As Date, i As Integer, j As Integer
r1 = Cells(Rows.Count, "c").End(xlUp).Row
r2 = Cells(4, Columns.Count).End(xlToLeft).Column
r = Sheets("vse").Cells(Rows.Count, "l").End(xlUp).Row
For j = 5 To r1
k = Cells(j, 3)
i = 5
While i <= r2
m = Cells(4, i)
Cells(j, i) = Application.WorksheetFunction.SumIfs(Sheets("vse").Range("l:l"), Sheets("vse").Range("b:b"), "=" & k, Sheets("vse").Range("c:c"), "=" & m)
  i = i + 1
  Wend
Next j
  MsgBox "Работа кода завершена!"
End Sub
[/vba]
 
Ответить
СообщениеЗдравствуйте! Помогите пожалуйста найти ошибку в коде.
Задача состоит в том, что нужно просуммировать промежуточное время (разница между выходом и входом сотрудника за день ), тем самым получим количество часов, которое сотрудник был на работе.
На листе "vse" находятся номера всех сотрудников, дата входа/выхода и промежуточное время, а на "list" нужно вывести количество часов за день.
Я использовала функцию СУММЕСЛИМН, но в результате получается 0. :(
[vba]
Код


Sub ЧАСОВ_ЗА_ДЕНЬ()
Worksheets("list").Activate
Dim m As Date, i As Integer, j As Integer
r1 = Cells(Rows.Count, "c").End(xlUp).Row
r2 = Cells(4, Columns.Count).End(xlToLeft).Column
r = Sheets("vse").Cells(Rows.Count, "l").End(xlUp).Row
For j = 5 To r1
k = Cells(j, 3)
i = 5
While i <= r2
m = Cells(4, i)
Cells(j, i) = Application.WorksheetFunction.SumIfs(Sheets("vse").Range("l:l"), Sheets("vse").Range("b:b"), "=" & k, Sheets("vse").Range("c:c"), "=" & m)
  i = i + 1
  Wend
Next j
  MsgBox "Работа кода завершена!"
End Sub
[/vba]

Автор - tolkyn
Дата добавления - 01.07.2014 в 10:54
tolkyn Дата: Вторник, 01.07.2014, 10:59 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
файл
К сообщению приложен файл: 3286560.rar (49.4 Kb)
 
Ответить
Сообщениефайл

Автор - tolkyn
Дата добавления - 01.07.2014 в 10:59
nilem Дата: Вторник, 01.07.2014, 13:21 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
если вот так записать
[vba]
Код
Cells(j, i) = Application.WorksheetFunction.SumIfs(Sheets("vse").Range("L:L"), Sheets("vse").Range("b:b"), k, Sheets("vse").Range("c:c"), m)
[/vba]
то что-то там заполняется :)


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеесли вот так записать
[vba]
Код
Cells(j, i) = Application.WorksheetFunction.SumIfs(Sheets("vse").Range("L:L"), Sheets("vse").Range("b:b"), k, Sheets("vse").Range("c:c"), m)
[/vba]
то что-то там заполняется :)

Автор - nilem
Дата добавления - 01.07.2014 в 13:21
tolkyn Дата: Вторник, 01.07.2014, 13:34 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, Спасибо большое!все получилось)) hands
 
Ответить
Сообщениеnilem, Спасибо большое!все получилось)) hands

Автор - tolkyn
Дата добавления - 01.07.2014 в 13:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » функция Sumifs (Функции/Function)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!