Public Schedule Face-to-Face & Online Instructor-Led Training - View dates & book

searching cells and if

Forum home » Delegate support and help forum » Microsoft Excel VBA Training and help » Searching cells and IF Function

Searching cells and IF Function

ResolvedVersion 2010

Freddie has attended:
Excel VBA Introduction course

Searching cells and IF Function

Hi Guys

I'm using a vlookup for a large amount of data.

However when the result returned is "#N/A", I then wish to check if the activecell.offset (0,-1) contains the word "LME" in it at all (i.e. if it is USDLME or UKLME as the data is concatenated).

If it does, then I wish for the active cell value to be "INLBAMKTCF - EXCEPTION" if not then I need "ERROR". I only have the below and it's not working:

Sheets("LBAPARIF").Range("P2").Select
ActiveCell.Formula = "=IF(ISERROR(SEARCH(""LME"",Activecell.offset(0,-1))),""INLBAMKTCF - EXCEPTION"",""ERROR"")"
Do Until ActiveCell.Offset(0, -1) = ""
ActiveCell.Offset(1, 0).Select
Loop
End If

Are you able to help?

Thanks as always!

Freddie

Edited on Fri 17 Apr 2015, 10:43

RE: Searching cells and IF Function

Hi Freddie


I tried out your example code and managed to get it to work I think. Try it out and see.

Sheets("LBAPARIF").Range("P2").Select
Do Until ActiveCell.Offset(0, -1) = ""
ActiveCell.Formula = "=IF(ISERROR(SEARCH(""LME"",RC[-1])),""ERROR"",""INLBAMKTCF - EXCEPTION"")"
ActiveCell.Offset(1, 0).Select
Loop

These are the changes I made:
move the Do loop up a line
Change Activecell.offset(0,-1) to RC([-1]
Swap ""ERROR"" and ""INLBAMKTCF - EXCEPTION"" around
Remove Endif


Let me know how you get on.

Regards
Doug
Best STL


RE: Searching cells and IF Function

Hi Doug

Thanks for this. The above works fine, but I'm not getting the desired result.

Apologies, I might not have explained myself properly.

What I'm trying to achieve is that if there is an error with the Vlookup, then to search the activecell.offset(0,-1) for the text LME. I have something similar to the below:

Sheets("LBAPARIF").Select
Range("P2").Select
Do Until ActiveCell.Offset(0, -1) = ""
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],LBAMKTCF!C[-11]:C[-10],2,0)"
IF ISERROR Then(SEARCH(""LME"",RC[-1])),""ERROR"",""INLBAMKTCF - EXCEPTION"")
ActiveCell.Offset(1, 0).Select
Loop

But it keeps falling over. Are you able to help?

Thanks!

Freddie

RE: Searching cells and IF Function

Hi Freddie

This is an interesting question though getting too involved for a forum question.
I will refer to another trainer and sorry for no immediate solution.

Regards
Doug

RE: Searching cells and IF Function

Hi Guys

Did you have any luck in trying to find a solution to my query?

Thanks

Freddie

RE: Searching cells and IF Function

Hi Freddie,

I am sorry that you had to wait for an answer.

Interesting question.

Try this:

Sheets("LBAPARIF").Select
Range("P2").Select
Do Until ActiveCell.Offset(0, -1) = ""
ActiveCell.FormulaR1C1 = "=iferror(VLOOKUP(RC[-1],LBAMKTCF!C[-11]:C[-10],2,0),if(count(SEARCH(""*LME*"",RC[-1]))>0,""ERROR"",""INLBAMKTCF - EXCEPTION""))"

ActiveCell.Offset(1, 0).Select
Loop


I hope this will do what you want but please let me know if it doesn't.

End Sub

Kind regards

Jens Bonde
Microsoft Office Specialist Trainer

Tel: 0207 987 3777
Best STL - https://www.stl-training.co.uk
98%+ recommend us

London's leader with UK wide delivery in Microsoft Office training and management training to global brands, FTSE 100, SME's and the public sector

 

Training courses

Training information:

Welcome. Please choose your application (eg. Excel) and then post your question.

Our Microsoft Qualified trainers will then respond within 24 hours (working days).

Frequently Asked Questions
What does 'Resolved' mean?

Any suggestions, questions or comments? Please post in the Improve the forum thread.

Excel tip:

Repeating headings on spreadsheets that print on more than one page

By default when you print a spreadsheet out and it prints on more than one page, the headings at the top and the side of the spreadsheet don't appear on all the pages following page 1.

To get Excel to repeat headings on all pages when printing, go to File - Page Setup - Sheet, then select the rows to repeat at the top of pages, and the columns to repeat at the side of pages by clicking on the red arrows at the right side of the two boxes under the 'Print titles' area. Then click OK.

If you view your spreadsheet in Print Preview, you should see the headings being repeated on each page.

View all Excel hints and tips

Connect with us:

0207 987 3777

Call for assistance

Request Callback

We will call you back

Server loaded in 0.09 secs.