Macro no se ejecuta en la hoja de trabajo, Excel VBA

Acabo de grabar esta macro y pegarla en mi código principal que está dentro de una de las hojas. Cuando lo ejecuto con mi código, arroja un error en este punto, no sé por qué?

Alguna idea ?

Sub pastem() Windows("Main.xlsm").Activate Sheets("Work").Select Range("B6").Select 'error at this position ActiveSheet.Paste Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Range("B6").Select End Sub 

Gracias

Range("B6") es una reference no calificada. Las references de Rango no calificado en un module estándar se refieren a la hoja activa. Las references de Rango no calificado en el module de class de una hoja se refieren a la hoja representada por el module de class. Dado que su código no está en el module de class 'Works', está tratando de seleccionar un range que no está en la spreadsheet, lo que no puede hacer. Aquí hay un ejemplo que no depende de que una determinada hoja esté activa.

 Sub pastem() With Workbooks("Main.xlsm").Sheets("Work").Range("B6") .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End With Application.CutCopyMode = False End Sub