jeudi 22 juin 2017

IF and Elseif function are being ignored when executed under For Next

The goal of my code is to show only the data that I need to review and the rest of the data to be cleared visually.

To simplify I will describe everything I want to clear. **I now need to clear all rows that contain a value of 250 under column 1 EXCEPT for the ones that have "812-519" under column 5 ** (meaning everything equal or above 250 to stay for every row and for any value under "812-519").

Here are currently my issues with the code:

1)When I execute, it clears specific rows that contain "812-519" on column 5. The specific rows that it clears are the ones that have a value <250 (in column 1), "manual risk" on column 8, and "no" on column 9.

2)The code does not clear rows that contain "812-135" on column 5 and that have values >250. whether they are "Manual Risk" (on column 8) or "IVR Risk".

Any help would be greatly appreciated.

REGULAR
MNIVR = 0
MMIVR = 0
NMIVR = 0
NNIVR = 0
GLIVR = 0
GLManual = 0
MNManual = 0
MMManual = 0
NMManual = 0
NNManual = 0
'EXCEPTION FLAG
EFMNIVR = 0
EFMMIVR = 0
EFNMIVR = 0
EFNNIVR = 0
EFGLIVR = 0
EFGLManual = 0
EFMNManual = 0
EFMMManual = 0
EFNMManual = 0
EFNNManual = 0

Application.ScreenUpdating = False

''Amened to consider NBD transactions
''Amened to consider NBD transactions

Const LIMIT_812_135 As Integer = 250

For Each Rng3 In Range("$A$3:$A$1000")
    If Rng3.Value = "Account Credit (Debit G/L)" Then
        If Rng3.Offset(0, 8).Value = "IVR Risk" Then
            If Rng3.Offset(0, 1).Value = 0 Or Rng3.Offset(0, 1).Value > 0 Then
                GLIVR = GLIVR + 1
            Else: Rng3.ClearContents
            End If
        ElseIf Rng3.Offset(0, 8).Value = "Manual Risk" And Rng3.Offset(0, 9).Value = "No" And _
        Rng3.Offset(0, 5).Value <> "812-519" Then
            If Rng3.Offset(0, 1).Value = 0 Or Rng3.Offset(0, 1).Value > 0 Then
                GLManual = GLManual + 1
            ElseIf Rng3.Offset(0, 1).Value < 0 Then
            Rng3.ClearContents
            End If
        ElseIf Rng3.Offset(0, 8).Value = "Manual Risk" And Rng3.Offset(0, 9).Value = "Yes" And _
        Rng3.Offset(0, 5).Value <> "812-519" Then
            If Rng3.Offset(0, 1).Value = 0 Or Rng3.Offset(0, 1).Value > 0 Then
                EFGLManual = EFGLManual + 1
            End If
        ElseIf Rng3.Offset(0, 8).Value = "IVR Risk" And _
        Rng3.Offset(0, 5).Value <> "812-135" Then
            If Rng3.Offset(0, 1).Value >= LIMIT_812_135 Then
                GLIVR = GLIVR + 1
            Else: Rng3.ClearContents
            End If
        ElseIf Rng3.Offset(0, 8).Value = "Manual Risk" And Rng3.Offset(0, 9).Value = "No" And _
        Rng3.Offset(0, 5).Value <> "812-135" Then
            If Rng3.Offset(0, 1).Value >= LIMIT_812_135 Then
                GLManual = GLManual + 1
            ElseIf Rng3.Offset(0, 1).Value < LIMIT_812_135 Then
            Rng3.ClearContents
            End If
        ElseIf Rng3.Offset(0, 8).Value = "Manual Risk" And Rng3.Offset(0, 9).Value = "Yes" And _
        Rng3.Offset(0, 5).Value <> "812-135" Then
            If Rng3.Offset(0, 1).Value >= LIMIT_812_135 Then
                EFGLManual = EFGLManual + 1
            ElseIf Rng3.Offset(0, 1).Value < LIMIT_812_135 Then
            Rng3.ClearContents
            End If
        End If
    End If
Next Rng3

Aucun commentaire:

Enregistrer un commentaire