Q1: Highlight data without headers.
You use 'ws1.UsedRange', which uses the entire used range including headers.
This will remove the header in the used range:
Dim MyRange As Range
Set MyRange = ws1.UsedRange
MyRange.Offset(1, 0).Resize(MyRange.Rows.Count - 1, MyRange.Columns.Count).Select
Q2: Clearing highlights when code is run.
You already have the code for this. Activate the code by using 'Call MacroNameHere'
Once you have determined wb1 and wb2, you can use
Q3: Using button to activate code.
Goto the Developers Ribbon, click on Insert and choose the ActiveX Commandbutton. Draw the button, right-click on the button and choose Show Code. Between the 2 provided code lines insert your code or better yet, use the Call method as shown in Q2. To use the button, click on Design Mode on the Developers Ribbon (found next to Insert).
Let us know if this helps you out and/or if you need further assistance.
Monday, Tuesday and Thursday are usually the days I'll respond. Bear this in mind when awaiting a reply.