la macro

26/09/2007 - 21:14 por bky | Informe spam
Hola... Tengo la siguiente macro...
Sub Gastos_menores()
ActiveSheet.PrintOut 'Copies=2
ActiveSheet.Unprotect ("1496")
[g4] = "A01001001130" & Format(Val(Right([g4], 7)) + 1, "0000000")
ActiveSheet.Protect Password:="1496", DrawingObjects:=True, Contents:=True
End Sub
y me funciona muy bien, pero quiero que se ejecute de un libro diferente
al que se encuentra el documento, pero cuando intento ejecutarla no imprime
el documento al que la macro hace referencia, sini, el el que esta en
pantalla, dandome un mensaje de Error..

si alguien entiende por favor ayudeme...
bye
 

Leer las respuestas

#1 Héctor Miguel
27/09/2007 - 04:54 | Informe spam
hola, 'anonimo/a' !

... la siguiente macro...
Sub Gastos_menores()
ActiveSheet.PrintOut 'Copies=2
ActiveSheet.Unprotect ("1496")
[g4] = "A01001001130" & Format(Val(Right([g4], 7)) + 1, "0000000")
ActiveSheet.Protect Password:="1496", DrawingObjects:=True, Contents:=True
End Sub
y me funciona muy bien, pero quiero que se ejecute de un libro diferente al que se encuentra el documento
pero cuando intento ejecutarla no imprime el documento al que la macro hace referencia
sino el el que esta en pantalla, dandome un mensaje de Error...



-> podrias exponer cual es el mensaje de error que obtienes ? [de preferencia, +/- exactamente], ya que...

1) la macro que expones esta haciendo *exactamente* lo que le indicas...
a) impriimiendo *la hoja activa* <=> ActiveSheet.PrintOut
b) modificando [o *tratando* de modificar] la celda 'G4' TAMBIEN de la hoja *activa* [esto es por omision de referencias]
c) [en el inter]... des/re/protegiendo TAMBIEN la hoja activa <=> ActiveSheet.Unprotect / ActiveSheet.Protect

2) si la hoja y celda que quieres des/re/proteger y *actualizar* NO esta en el libro activo...
es necesario *calificar* la referencia completa, p.e. suponiendo que estan en el libro que contiene la macro...
-> independientemente de si el libro que contiene la macro esta como activo o no... -?-
NOTA que hay un "punto" ANTES de la referencia a rangos -> .[g4]

With ThisWorkbook.Worksheets("hoja secreta")
.Unprotect "1496"
.[g4] = "A01001001130" & Format(Val(Right(.[g4], 7)) + 1, "0000000")
.Protect Password:="1496", DrawingObjects:=True, Contents:=True
End With

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

p.d. un poquitin de [mas] paciencia... es *sano* :))

Preguntas similares