messages for conditions;If/and/or

bgonen

Active Member
Joined
Oct 24, 2009
Messages
264
I am trying to add a procedure before the one below that will compare cell/s A10, A11, A12 etc with K10,K11,K12 respectively
For example; if A10 is less than K10 then message:"CC is missing"
If A10 in any of the sheets (array) does not match with sheet4 column A then message:"CC is invalid"
Only after that the procedure in blue (below) can be executed.


Sub MatchCopyPaste2()
Dim LR As Long, i As Long, ws As Worksheet
Application.ScreenUpdating = False
Sheets("DataByCC").UsedRange.Offset(1).ClearContents
For Each ws In Sheets(Array("P_ROLL", "Travel"))
With ws
LR = .Range("A" & Rows.Count).End(xlUp).Row
For i = 10 To LR
With .Range("A" & i)
If IsNumeric(Application.Match(.Value, .Columns("A"), 0)) Then
.EntireRow.SpecialCells(12).Copy Destination:=Sheets("DataByCC").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
End With
Next i
End With
Next ws
End Sub
 

Some videos you may like

Excel Facts

When they said...
When they said you are going to "Excel at life", they meant you "will be doing Excel your whole life".

BrianB

Well-known Member
Joined
Feb 17, 2003
Messages
8,127
Something like this
Code:
'========================================================================================
'- WORKSHEET ERROR TRAPPING
'========================================================================================
Sub test()
    '------------------------------------------------------------------------------------
    'if A10 is less than K10 then message:"CC is missing"
    With Worksheets("Sheet4")
        If .Range("A10").Value < .Range("K10").Value Then
            MsgBox ("CC is missing (A10 < K10)")
            Application.Goto .Range("A10")
            Exit Sub
        End If
    End With
    '------------------------------------------------------------------------------------
    'If A10 in any of the sheets (array) does not match with sheet4 column A
    'then message:"CC is invalid"
    x = Worksheets("Sheet4").Range("A10").Value
    For Each s In Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4"))
        If s.Name <> "Sheet4" And s.Range("A10").Value <> x Then
            MsgBox ("CC is invalid " & vbCr _
                & s.Name & " Range A10 should = " & x)
            Application.Goto Worksheets(s.Name).Range("A10")
            Exit Sub
        End If
    Next
    '------------------------------------------------------------------------------------
    '- REST OF CODE
    MsgBox ("No Errors")
End Sub
'========================================================================================
 

Watch MrExcel Video

Forum statistics

Threads
1,108,727
Messages
5,524,478
Members
409,584
Latest member
RedHelp

This Week's Hot Topics

Top