Subrutina de ThisWorkBook para nuevo libro.-

09/03/2010 - 13:52 por JC | Informe spam
Hola Amigos:

Mis mejores saludos para tod@s.
Mi nueva consulta, es que necesito que la siguiente rutina de ThisWorkBook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("VENTAS").Range("J29").Value = Empty Then
Cancel = True
MsgBox "DEBES DE INTRODUCIR UN VALOR (LOCAL O INTENACIONAL)"
Range("A9").Select
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("VENTAS").Range("J29").Value = Empty Then
Cancel = True
MsgBox "DEBES DE INTRODUCIR UN VALOR (LOCAL O INTENACIONAL)"
Range("A9").Select
End If
End Sub

Poderla llevar al ThisWorkBook de una hoja que acabo de desprender de un
libro...
O poderla ejecutar desde el cuerpo o módulo del nuevo libro, pero para esto
último, me imagino que la gramática de la sentencia, debe de ser diferente y
no sé hacerlo.

Me podríais ayudar una vez más, por favor ???

Si necesitáis algún dato más... un ejemplo... etc... me comentáis, por favor
???

Mil gracias por adelantado y un fuerte abrazo.

JC
 

Leer las respuestas

#1 Héctor Miguel
09/03/2010 - 23:22 | Informe spam
hola, !

los eventos "de libro" van en el modulo del ThisWorkbook
si copias una hoja a otro libro, dicha hoja NO "lleva" los eventos del libro
necesitas incluir ese tipo de codigo en cada libro donde los necesites :-(
ademas de una que otra anticipacion por si "la hoja" no fuera la hoja activa ?

alternativas ?
- escribir los eventos que necesites en modulos especiales (como el ThisWorkbook) "codigo por codigo"
revisa muy bien los consejos de esta pagina: http://www.cpearson.com/Excel/vbe.aspx
- manejar por modulos de clase (probablemente) desde el libro de macros personales ?
revisa tambien los consejos de esta pagina: http://www.cpearson.com/Excel/AppEvent.aspx

saludos,
hector.

__ OP __
Mi nueva consulta, es que necesito que la siguiente rutina de ThisWorkBook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("VENTAS").Range("J29").Value = Empty Then
Cancel = True
MsgBox "DEBES DE INTRODUCIR UN VALOR (LOCAL O INTENACIONAL)"
Range("A9").Select
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("VENTAS").Range("J29").Value = Empty Then
Cancel = True
MsgBox "DEBES DE INTRODUCIR UN VALOR (LOCAL O INTENACIONAL)"
Range("A9").Select
End If
End Sub
Poderla llevar al ThisWorkBook de una hoja que acabo de desprender de un libro...
O poderla ejecutar desde el cuerpo o módulo del nuevo libro, pero para esto ultimo
me imagino que la gramatica de la sentencia, debe de ser diferente y no se hacerlo...

Preguntas similares