2016-08-17 22 views
1

У меня есть следующая таблицаExcel VBA код вычитать

Bills Amount Paid 

Food $100 No 

Gas $200 Yes 

Car $300 Yes 

Total $600 

Total left to pay: $400 

И у меня есть следующий код

Sub Bills() 

    Range("C2").Select 
    Do Until IsEmpty(ActiveCell) 
     If ActiveCell = "Yes" Then Range("B6") = Range("B5") - ActiveCell.Offset(0, -1) 
     ActiveCell.Offset(1, 0).Select 
    Loop 

End Sub 

Но это только вычитает первый «Да», и когда я меняю другое «Да «Я не вижу, что получает новую сумму, чтобы вычесть ее. что мне не хватает?

Цель: всякий раз, когда я оплачивал счет и приезжаю сюда и выбираю «Да» и запускаю код, он вычитает его из общей суммы и покажет, сколько я еще оставил, чтобы оплатить счета.

Заранее спасибо

+4

не использовать VBA, где не надо. Вы можете просто решить это без макроса с помощью функции excel 'SUMIF' – raemaerne

ответ

4

Предполагая, что столбец B является «Сумма» Колонка и колонка С «Оплачен» столбец, просто используйте формулу в ячейке для «осталось заплатить»

=SUMIF(C2:C4,"=NO",B2:B4) 
0

Вы можете просто использовать Formula для оценки Column Выплачено:

=SUMIF(C2:C4;"No";B2:B4) 
Смежные вопросы