Avatar of Seamus2626
Seamus2626
Flag for Ireland asked on

IF statement VBA

Hi,

I need a line of code that looks at tab "XYZ"

It needs to check AF8:AF19 and find "Reporting Month"


eg If AE14 = "Reporting Month", it then must offset two columns, therefore finding "AH14", iF AH14= "=G8", then it does not call the sub "DoWork"

If AE14 = "Reporting Month" and AH14 is blank, then call the sub "DoWork"

Hope this makes sense!

Thanks
Visual Basic ClassicMicrosoft Excel

Avatar of undefined
Last Comment
Seamus2626

8/22/2022 - Mon
Rgonzo1971

Hi,

pls try

Sub macro()

intOffset = WorksheetFunction.Match("Reporting Month", Sheets("XYZ").Range("AF8:AF19")) - 1
If Range("AF" & 8 + intOffset).Formula = "" Then
    Call DoWork
End If
End Sub

Regards
Seamus2626

ASKER
Thanks Rgonzo,

So my reporting month is July (AE14) and the cells AH14 are blank, but the sub is not being called.

So the statement needs to be

Find Reporting month in range and then check two columns to right, if no formula, call sub, if formula, skip

Thanks
Rgonzo1971

pls try

Sub macro()

intOffset = WorksheetFunction.Match("Reporting Month", Sheets("XYZ").Range("AE8:AE19")) - 1
If Range("AH" & 8 + intOffset).Formula = "" Then
    Call DoWork
End If
End Sub
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
Seamus2626

ASKER
Here is my sub Rgonzo

So currently i have formula of =G8 in AH14 & AE14 = "Reporting Month"

The code is going to run Call BrDeck4 - That is the condition where it does not run the sub

The condition it runs the sub is

Where cell in range (AE8:AE19) = "Reporting Month", look at the cell in the corresponding row in AH and if there is no formula, call the sub

Thanks


intOffset = WorksheetFunction.Match("Reporting Month", Sheets("ASP New BR Deck 4").Range("AF8:AF19")) - 1
If Range("AH" & 8 + intOffset).Formula = "" Then
    Call BrDeck4
End If
Rgonzo1971

On your last code

I've replaced AF with AE

intOffset = WorksheetFunction.Match("Reporting Month", Sheets("ASP New BR Deck 4").Range("AE8:AE19")) - 1
If Range("AH" & 8 + intOffset).Formula = "" Then
    Call BrDeck4
End If

There is a bit of confusion due to your question where you mention AF
Seamus2626

ASKER
Hi Rgonzo, i have attached my ss with the data im working on

When you run the sub ( i put in module 1) it will call the sub BrDeck4 and display the msg box

This is incorrect as the corresponding column to Reporting Month is NOT blank, so the sub shouldnt run

Thanks
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Seamus2626

ASKER
File
Seamus2626

ASKER
File again!
Book1.xlsm
ASKER CERTIFIED SOLUTION
Rgonzo1971

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Seamus2626

ASKER
Perfect, thanks!!
Your help has saved me hundreds of hours of internet surfing.
fblack61