Cuelge de excel, continuación a consulta O1/o1/2009

05/01/2009 - 19:40 por Jacinto CG | Informe spam
Gracias Hector por tu interes.
Utilizo excel 2007.
El gráfico coge datos de otra hoja en el mismo libro.
A continuación redacto la macro utilizada:
Sub GráficosFinalizar()
'
' GráficoFinalizar Macro
'

ActiveSheet.Unprotect
On Error GoTo error
While Sheets("Hoja1").Select 'Nombre de la hoja que contiene el gráfico
ActiveWindow.SelectedSheets.Delete
Wend
error:
Sheets("Gráficos").Select 'Esta es la hoja de donde recoge datos
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Range("a1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Te comento: El bucle se utiliza porque al cerrar el gráfico sale un aviso de
Eliminar o Cancelar. Si se da eleminar, evidentemente elimina la hoja que
contiene el gráfico (Hoja1), el bucle intenta seleccionar una hoja que no
existe y se produce error, con lo que abre la hoja de datos llamada
"Graficos" seleccionta un rango y la protege. Si se le da cancelar,
nuevamente selecciona la hoja a la espera de nueva instrucción.
 

Leer las respuestas

#1 Héctor Miguel
06/01/2009 - 02:20 | Informe spam
hola, Jacinto !

1) no es necesario un bucle para comprobar cuantas veces se puede seleccionar una hoja para eliminar
(puesto que solo puede haber UNA hoja de nombre unico dentro de un libro)

2) tampoco le veo la utilidad a la des/re/proteccion de la/s hoja/s -?-

3) si solo quieres eliminar la "hoja1" (la que contiene el grafico) SIN las advertencias de excel
prueba con una macro +/- como la siguiente:

Sub Eliminar_hoja_graficos()
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("hoja1").Delete
Application.DisplayAlerts = True
End Sub

saludos,
hector.

p.d. es conveniente mantener la consulta dentro de su "hilo" original (por los detalles) ;)

__ OP __
Utilizo excel 2007.
El grafico coge datos de otra hoja en el mismo libro.
A continuacion redacto la macro utilizada:
Sub GraficosFinalizar()
ActiveSheet.Unprotect
On Error GoTo error
While Sheets("Hoja1").Select 'Nombre de la hoja que contiene el grafico
ActiveWindow.SelectedSheets.Delete
Wend
error:
Sheets("Graficos").Select 'Esta es la hoja de donde recoge datos
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Range("a1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Te comento: El bucle se utiliza porque al cerrar el grafico sale un aviso de Eliminar o Cancelar.
Si se da eleminar, evidentemente elimina la hoja que contiene el grafico (Hoja1)
el bucle intenta seleccionar una hoja que no existe y se produce error, con lo que abre la hoja de datos llamada "Graficos"
seleccionta un rango y la protege. Si se le da cancelar, nuevamente selecciona la hoja a la espera de nueva instruccion.

Preguntas similares