Почему функция не считает первое значение? - VBA

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Помогите, пожалуйста, разобраться. Есть таблица. В первой колонке даты, в четвёртой суммы. Код написан на изменение колонки с суммой. Если значение в этой колонке изменяется, то нужно получить сумму всех значений за эту дату. Использую функцию листа СУММЕСЛИ. Вот код:
Листинг программы
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim endRow_ShKuriery As Long
  3. endRow_ShKuriery = ActiveSheet.Cells(Rows.Count, CLMN_DATE).End(xlUp).Row
  4. If (Target.Column = CLMN_SUMMA_ZAKAZA_ShKuriery) Then
  5. If (Target.Row >= ROW_START_ShKuriery) And (Target.Row <= endRow_ShKuriery) Then
  6. Dim sumTotal_ShKuriery As Double, dt As Date
  7. dt = ActiveSheet.Cells(Target.Row, CLMN_DATE).value
  8. sumTotal_ShKuriery = Application.WorksheetFunction.SumIf(ActiveSheet.Columns("A:A"), dt, ActiveSheet.Columns("D:D"))
  9. End If
  10. End If
  11. End Sub
И всё бы ничего, но почему то значение из ячейки D4 не считается(((. Все считается, а это значение нет. Не могу разобраться.... Фото таблицы прилагаю. Помогите, пожалуйста. Заранее спасибо!

Решение задачи: «Почему функция не считает первое значение?»

textual
Листинг программы
  1. If (Target.Row >= ROW_START_ShKuriery) And (Target.Row <= EndRow_ShKuriery) Then
  2. Dim sumTotal_ShKuriery As Double, dt As Date
  3. dt = ActiveSheet.Cells(Target.Row, CLMN_DATE).value
  4. sumTotal_ShKuriery = Application.WorksheetFunction.SumIf(ActiveSheet.Columns("A:A"), dt, ActiveSheet.Columns("D"))
  5. End If

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы