Sub Kolbasa()
' Погнали по 1 пакету
i1 = 7
While Not IsEmpty(ObJ_EP1.Cells(i1, 1).Value)
i1 = i1 + 1
DoEvents
Wend
str_all = i1
' Погнали по 1 пакету
i1 = 7
While Not IsEmpty(ObJ_EP1.Cells(i1, 1).Value)
ac_EP1 = CStr(ObJ_EP1.Cells(i1, 2).Value) & CStr(ObJ_EP1.Cells(i1, 3).Value) & CStr(ObJ_EP1.Cells(i1, 4).Value)
If IsNumeric(ObJ_EP1.Cells(i1, 6).Value) And Not ObJ_EP1.Cells(i1, 6).Locked Then
SumSaldoDt_EP1 = CDbl(ObJ_EP1.Cells(i1, 6).Value)
Else
SumSaldoDt_EP1 = 0
End If
If IsNumeric(ObJ_EP1.Cells(i1, 7).Value) And Not ObJ_EP1.Cells(i1, 7).Locked Then
SumSaldoKt_EP1 = ObJ_EP1.Cells(i1, 7).Value
Else
SumSaldoKt_EP1 = 0
End If
Call Find_ac(ac_EP1, flag_yes, SumSaldoDt_EP1, SumSaldoKt_EP1)
i1 = i1 + 1
DoEvents
Wend ' While Not IsEmpty(ObJ_EP1.Cells(i1, 1).Value)
Windows(NameEP1).Close SaveChanges:=False
Windows(NameEP2).Close SaveChanges:=False
Application.StatusBar = ""
End Sub
Public Sub Find_ac(ac As String, flag_yes As Integer, SumSaldoDt_EP1 As Double, SumSaldoKt_EP1 As Double)
Application.ScreenUpdating = False
flag_yes = 0
'ac = ac_EP1
Application.StatusBar = "Сравниваю счет №: " & ac_EP1 & " Пакет- " & NameEP2_Full & "_" & Name_Fil & ".xls"
i2 = 7
While Not IsEmpty(ObJ_EP2_1.Cells(i2, 1).Value)
ac_EP2 = CStr(ObJ_EP1.Cells(i2, 2).Value) & CStr(ObJ_EP1.Cells(i2, 3).Value) & CStr(ObJ_EP1.Cells(i2, 4).Value)
' Сравниваем номера счетов
If ac_EP2 = ac_EP1 Then
flag_yes = 1
' Сравним суммы входящего сальдо
If IsNumeric(ObJ_EP2_1.Cells(i2, 6).Value) And Not ObJ_EP2_1.Cells(i2, 6).Locked Then
SumSaldoDt_EP2 = ObJ_EP2_1.Cells(i2, 6).Value
Else
SumSaldoDt_EP2 = 0
End If
If IsNumeric(ObJ_EP2_1.Cells(i2, 7).Value) And Not ObJ_EP2_1.Cells(i2, 7).Locked Then
SumSaldoKt_EP2 = ObJ_EP2_1.Cells(i2, 7).Value
Else
SumSaldoKt_EP2 = 0
End If
' Проверим дебетовое сальдо
If Not (SumSaldoDt_EP1 = SumSaldoDt_EP2) Then
' Не совпадают !!! Пишем в протокол ошибок
i_pr = 2
While Not IsEmpty(ObJ_prot.Cells(i_pr, 1).Value)
i_pr = i_pr + 1
DoEvents
Wend
ObJ_prot.Cells(i_pr, 1).Value = Name_Fil
ObJ_prot.Cells(i_pr, 2).Value = ac_EP1
ObJ_prot.Cells(i_pr, 3).Value = SumSaldoDt_EP1
ObJ_prot.Cells(i_pr, 4).Value = "-"
ObJ_prot.Cells(i_pr, 5).Value = ac_EP2
ObJ_prot.Cells(i_pr, 6).Value = SumSaldoDt_EP2
ObJ_prot.Cells(i_pr, 7).Value = "-"
ObJ_prot.Cells(i_pr,
.Value = "Дебетовое сальдо не совпадает !"
End If 'If SumSaldoDt_EP1 = SumSaldoDt_EP2 Then
' Проверим кредитовое сальдо
If Not (SumSaldoKt_EP1 = SumSaldoKt_EP2) Then
' Не совпадают !!! Пишем в протокол ошибок
flag_error = 1
i_pr = 2
While Not IsEmpty(ObJ_prot.Cells(i_pr, 1).Value)
i_pr = i_pr + 1
DoEvents
Wend
ObJ_prot.Cells(i_pr, 1).Value = Name_Fil
ObJ_prot.Cells(i_pr, 2).Value = ac_EP1
ObJ_prot.Cells(i_pr, 3).Value = "-"
ObJ_prot.Cells(i_pr, 4).Value = SumSaldoKt_EP1
ObJ_prot.Cells(i_pr, 5).Value = ac_EP2
ObJ_prot.Cells(i_pr, 6).Value = "-"
ObJ_prot.Cells(i_pr, 7).Value = SumSaldoKt_EP2
ObJ_prot.Cells(i_pr,
.Value = "Кредитовое сальдо не совпадает !"
End If 'If SumSaldoKt_EP1 = SumSaldoKt_EP2 Then
Exit Sub
End If 'If CStr(ObJ_EP2_1.Cells(i2, 1).Value) = ac Then
i2 = i2 + 1
DoEvents
Wend
Application.ScreenUpdating = True
End Sub