Please edit your post to include code tags.

1) You can alternatively consider just hiding the 'data' sheets; there is an option to also change the Visible property to Very Hidden, which makes it only un-hideable via VBA code or the VBA editor. This way you can kind of prevent users from editing the data sheets.

2) To search "all" sheets, you need a loop. Something like:
dim ws as worksheet

for each ws in activeworkbook.sheets
    '... your whole bunch of search codes here
next