Código defectuoso

05/02/2007 - 18:19 por Albino | Informe spam
Olá.
Isto está a dar comigo em doido. Grrrrrrrrrrrrrrrrr
Construi uma macro num ficheiro onde utilizei o comando
"ActiveSheet.Unprotect" que resultou excelente.
Posteriormente quis aplica-lo noutra macro e cada vez que executo a mesma
dá-me
< "Run-time error '1004" Não foi possivel executar o método PasteSpecial da
classe range >
Penos que isso acontece porque a folha não foi desprotegida apesar de o
cídifo estar antes.
Que se passará??? Que haverá de errado no código???
A Ideia é copiar dados da folha1 e cola-los na folha3 desprotegendo-a e no
final protegendo-a novamente.
Ajuda...

Eilo:
______________________________________
Sub ImprFicha_GuardaConsulta()
'
' Macro4 Macro
' Macro gravada em 19-01-2007 por Albino
'
'ActiveWindow.SelectedSheets.PrintOut Copies:=1
Application.ScreenUpdating = False
Range("H2:K3").Select
Selection.Copy
Sheets("Folha3").Select
Range("A1").Select

ActiveSheet.Unprotect '[Será que está no lugar certo e bem
escrito??]

Selection.End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Sheets("Folha1").Select
Range("D2:D7,B8").Select
Selection.ClearContents
Sheets("Folha3").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True, _
AllowFiltering:=True
Application.ScreenUpdating = True

End Sub
 

Leer las respuestas

#1 Ivan
06/02/2007 - 00:12 | Informe spam
hola Albino,

lamento no conocer tu idioma, pero prueba esto ->>

Sub ImprFicha_GuardaConsulta()
Application.ScreenUpdating = False
With Sheets("Folha3")
.Unprotect
Sheets("Folha1").Range("H2:K3").Copy
.Range("a1").End(xlDown).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True, AllowFiltering:=True
.Activate
End With
Sheets("Folha1").Range("D2:D7, B8").ClearContents
End Sub

un saludo
Ivan

"Albino" escribió en el mensaje
news:
Olá.
Isto está a dar comigo em doido. Grrrrrrrrrrrrrrrrr
Construi uma macro num ficheiro onde utilizei o comando
"ActiveSheet.Unprotect" que resultou excelente.
Posteriormente quis aplica-lo noutra macro e cada vez que executo a mesma
dá-me
< "Run-time error '1004" Não foi possivel executar o método PasteSpecial
da
classe range >
Penos que isso acontece porque a folha não foi desprotegida apesar de o
cídifo estar antes.
Que se passará??? Que haverá de errado no código???
A Ideia é copiar dados da folha1 e cola-los na folha3 desprotegendo-a e no
final protegendo-a novamente.
Ajuda...

Eilo:
______________________________________
Sub ImprFicha_GuardaConsulta()
'
' Macro4 Macro
' Macro gravada em 19-01-2007 por Albino
'
'ActiveWindow.SelectedSheets.PrintOut Copies:=1
Application.ScreenUpdating = False
Range("H2:K3").Select
Selection.Copy
Sheets("Folha3").Select
Range("A1").Select

ActiveSheet.Unprotect '[Será que está no lugar certo e bem
escrito??]

Selection.End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Sheets("Folha1").Select
Range("D2:D7,B8").Select
Selection.ClearContents
Sheets("Folha3").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True, _
AllowFiltering:=True
Application.ScreenUpdating = True

End Sub


Preguntas similares