ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro Error when I leave sheet (https://www.excelbanter.com/excel-programming/396645-macro-error-when-i-leave-sheet.html)

Andy

Macro Error when I leave sheet
 
I have a macro that is set-up on a timer to repeat every 15 secs. When I
click on a different sheet in the workbook I get:
Run-time error '1004' Select method of range class failed.
Is there a way that I can still work in other worksheets as this macro is
running?
Thanks,
Sub MarketDelta1()
'''''''''''''''''

Worksheets("Futures").Range("O2:AA2").Select
Selection.Copy
Worksheets("Futures").Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Worksheets("Futures").Range("O2").Select
'''''''''''''''''
' Call StartTimer to schedule the procedure again
If Time TimeSerial(16, 0, 0) Then
'do nothing
Else
StartTimer
End If
End Sub

Chip Pearson

Macro Error when I leave sheet
 
Andy,

The problem is with the line

Worksheets("Futures").Range("O2:AA2").Select

You can't Select a range on a worksheet that is not already active -- you
can only Select on the ActiveSheet. Use two Selects:

Worksheets("Futures").Select
Range("O2:AA2").Select


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)


"andy" wrote in message
...
I have a macro that is set-up on a timer to repeat every 15 secs. When I
click on a different sheet in the workbook I get:
Run-time error '1004' Select method of range class failed.
Is there a way that I can still work in other worksheets as this macro is
running?
Thanks,
Sub MarketDelta1()
'''''''''''''''''

Worksheets("Futures").Range("O2:AA2").Select
Selection.Copy
Worksheets("Futures").Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Worksheets("Futures").Range("O2").Select
'''''''''''''''''
' Call StartTimer to schedule the procedure again
If Time TimeSerial(16, 0, 0) Then
'do nothing
Else
StartTimer
End If
End Sub



Gary Keramidas

Macro Error when I leave sheet
 
you can try this. you can select on any sheet but the active sheet. but you
don't need to select to copy and paste

Sub MarketDelta1()
'''''''''''''''''
Worksheets("Futures").Range("O2:AA2").Copy
Worksheets("Futures").Range("A2").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
' Worksheets("Futures").Range("O2").Select
'''''''''''''''''
' Call StartTimer to schedule the procedure again
If Time TimeSerial(16, 0, 0) Then
'do nothing
Else
StartTimer
End If
End Sub

--


Gary


"andy" wrote in message
...
I have a macro that is set-up on a timer to repeat every 15 secs. When I
click on a different sheet in the workbook I get:
Run-time error '1004' Select method of range class failed.
Is there a way that I can still work in other worksheets as this macro is
running?
Thanks,
Sub MarketDelta1()
'''''''''''''''''

Worksheets("Futures").Range("O2:AA2").Select
Selection.Copy
Worksheets("Futures").Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Worksheets("Futures").Range("O2").Select
'''''''''''''''''
' Call StartTimer to schedule the procedure again
If Time TimeSerial(16, 0, 0) Then
'do nothing
Else
StartTimer
End If
End Sub





All times are GMT +1. The time now is 10:31 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com