Selected Answer
Sunil
It might be enough to modify the macro SetTimer() to include a simple test against the times you say (changes in bold):
Sub SetTimer()
' 178 - TeachExcel.com (modified for start and stop times per day)
If Now < (Date + 0.375) Or Now > (Date + 0.7083333) Then 'test if time is outside working hours
StopTimer 'stop the timer (if running)
Else
Interval = Now + TimeValue("00:00:10") ' Set your interval here
Application.OnTime Interval, "MyMacro" ' name the time & macro to run
End If
End Sub
where 0.375 equates to 9am i.e. the fraction 9/24 (hours). You might want to do something other than StopTimer if the test is proven or the first time it is (but that's up to you).
Hope this helps.
Response to question Revision 1:
Sunil, in transferring this macro to another file, you need to pay close attention to any named files and sheets (as I said in the discussion below).
It fails to run since MyMacro includes the line:
With Workbooks("Macro Copy paste and Cut paste Testing1.xlsm").Worksheets("Sheet1")
but your filename is slightly different ("Macro Copy paste and Cut paste
Testing 1.xlsm". Correct that and it will work okay.
Note however that you have at least one other inconsistency: in sub MyATR you correctly refer to Worksheets("Report") but sub Myclearmacro still refers to Worksheets("Sheet2") which you renamed to Report.
In general you shouldn't expect us to do debugging like this.