Здравствуйте.
Есть таблица, в которую вносятся данные учета движения денежных средств.
Есть задача определить остатки денежных средств на определенном лицевом счету их учета.
Есть код VBA, который это делает. Но почему-то промежуточные итоги для установленного ЛС не определяются (выводится общий итог). Что бы код работал правильно пришлось поставить техническую паузу через msgbox. Но это лишний клик.
Может кто подскажет, как это сделать другим способом? Вот сам код:
Код |
---|
'===============================================================
'Проблемма здесь
' Вынужденная техпаузаа
MsgBox "Для продолжения нажать кнопку Ok", vbExclamation, "Операционная пауза"
'---------------------------------------------------------------------
ActiveSheet.ListObjects("Reestr2").Range.AutoFilter Field:=7, Criteria1:=lsUDS 'Критерий lsUDS из textbox формы
'Сам фильтр срабатывает правильно. Таблица выбирает записи только с заданным значением lsUDS и соответственно сворачивается
'Но без "операционной паузы" промежуточные итоги не пересчитываются, а с паузой все работае как надо ???? :(
'----------------------------------------------------------------------------
Sp = CCur(Replace(Range("Reestr2[[#Totals],[7]]").Value, ".", ",")) 'значение суммы поступивших денег
'----------------------------------------------------------------------------
Sv = CCur(Replace(Range("Reestr2[[#Totals],[8]]").Value, ".", ",")) 'значение суммы выбывших денег
'----------------------------------------------------------------------------
ostDSls = Sp - Sv
ostDSls = Replace(ostDSls, ".", ",") 'значение суммы остатка
'Проблемма здесь
'==================================================================
|
Спасибо всем, кто откликнется