Trigger code if certian data is present

G

Guest

I have a worksheet that summarises a data sheet that is updated by the user
by copying a file created by another application.

Occassionally the data will contian "Normal" instead of "Norm" as a line
characteristic. I have a macro that will find "Normal" on the datasheet
("JobCard") and replae each instance with "Norm".

However, I have no guarantee that the user will remember to press the button
that runs this macro.

Is it possible for the datasheet ("JobCard") to be tested after being
updated (new Job Card pasted in) and any instance of "Normal" changed to
"Norm" before the user accesses the Summary sheet, or once each time the
Summary sheet is activated?

I have tried running the macro as a worksheet event, but get myself caught
up in circular process that I have to break out of.

Any suggestions greatly appreciated
Jim
 
R

Roger Whitehead

Would the Worksheet_Deactivate event suit your needs?

Try calling your search & replace from this event, so it fires when another
sheet is selected. Also call it from the Workbook_BeforeSave event? - In
which case the search & replace will have to refer explicitly to the JobCard
sheet.

HTH
Roger
 
G

Guest

Thanks Roger,
This looked promising at first but when I tried to select the "Summary"
sheet the error message, 'Can't find any data to replace...' would come up
and I can't then get to the "Summary" sheet from "JobCard".

This is the code.

Private Sub Worksheet_Deactivate()
Sheets("JobCard").Select
Selection.Replace What:="Normal", Replacement:="Norm", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sheets("Summary").Select
Range("B4").Select

End Sub

With or without 'Sheets("Summary").Select' causes the circular action and I
can't get to any other sheet because of the error message bring me back to
"JobCard".
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top