When I came to this thread 3 ot 4 days after you started it, 38 people had visited it and the attached file had been downloaded 3 times, but you had no response. This is due to several reasons, amongst which
1. It looks like you want a heck of a lot
2. It's difficult to see what you're trying to do from the code - we have to reverse engineer your code and then try to make it work
3. Your code tries to alter toolbars - which messes up people's own toolbar set-ups - a big no no if you don't warn people

The time that would be required to give you a workable solution is well beyond what people are prepared to give.

So I'm only going to point you in a direction regarding searching for stuff: check out
.Find
which returns a range object if something is found and Nothing if not.
you coluld use the likes of (pseudocode):

Set xxx = RangeToSearch.Find(ThingToFind)
If Not xxx is Nothing then
'do something with the range xxx eg. grab values with xxx.offset(…
Else
'report not found
End if

There are more arguments to .find, look at the help file.