Eliminar hojas sin preguntar

Y gracias por toda ala ayuda prestada me falta algunos detalles ojala me puedas ayudar tengo el siguiente código:
'elimina hoja1 sin preguntar
'Application.DisplayAlerts = False
'Sheets("hoja1").Select
'ActiveWindow.SelectedSheets.Delete 'borra hoja sin preguntar
'Application.DisplayAlerts = True
El problema es que cuando no encuentra esta hoja me manda un error 9 que puedo hacer se te ocurre algo

1 Respuesta

Respuesta
2
Un modo:
On Error Goto Nohayhoja
Application.DisplayAlerts = False
WorkSheets("Hoja1").Delete
Application.DisplayAlerts= True
Exit Sub
Nohayhoja:
Msgbox "La Hoja no existe"
Abraham
Hola abraham este código que me envías es casi igual al que tengo y hace lo mismo que el que tengo con la diferencia que este no me envía el error al ejecutar este código no me borra la hoja creada hola me boora la hoja1
ejemplo lo que necesito es que me elimine todas las hojas sin preguntar ni enviar mensaje alguno y por supuesto tampoco me envíe un error
eliminar todas las hojas de hoja1 hasta la hoja20 sin importar que estas estén o no y sin enviar error
Pero, hasta el momento no mencionas ni colcoas cual es el proceso/macro/rutina que tienes para eliminar todas esas hojas, en todas las ocasiones has enviado como eliminar unna sola hoja especifica
Abraham
abramhan esa es mi pregunta como puedo eliminar todas esas hojas de la 1 hasta la 20 si yo supiera no preguntaría yo solo tengo el procedimiento para borrar una hoja no artas a la ves y al tratar de acerlas la todas las hojas me sale error
me explico otra ves por si no quedo claro tengo en una archivo en excel donde al ejecutar mis macros me genera muchas hojas. ¿Estas al final de todas la macros quiero crear una botón que borre todas mis hojas que se crearon independiente que estén o no y no quiero que me envíe preguntar nada ni que me envíe error nada solo que borre de la hoja1 hasta la 20 sin importar si están esta o no o que contengan ellas
alguna duda que lo que necesito solo quiero algo que borre muchas hojas sin importar si están o no
que tiene que ver mi otras macros? ¿De qué te sirve que te las envíe? ¿Para qué necesitas verlas?
Yo solo necesito que borre muchas hojas
gracias...
1- Con estas explicación se entiende mejor lo que necesitas
2- A veces es necesario conocer los procedimientos que usan los usuarios para entender mejor los dilemas y/o necesidades, entonces, creo que con eso se entedendera para que sirve conocerlas
3- No olvides que aquí ayudamos "ad-honorem", nadie nos da nada por ayudar, lo hacemos por cuestiones filantropicas y/o de diversión y/o de incluso conocer más
4- Debes aprovechar que las hojas son parte de la colección de hojas del libro:
Supondré una hoja llama "Indice" que no se debe borrar (No olvidemos que un archivo no puede tener menos de una hoja... hay excepciones: *xla, etc, pero no vienen al caso)
Dim Hoja as WorkSheet
For Each Hoja In WorkSheets
If Hoja.Name <> "Indice" Then
Hoja.Delete
End If
Next Hoja
Abraham
Abraham
1-Yo se que esto es por amor al arte pero también se te evalúa por esto, yo he preguntado muchas veces cosas y tu has respondido la mayoría y por eso te he dado las gracias y también te he evaluado muy bien en todas las respuestas que me has respondido aunque no en todas me has ayudado en un 100 %, lo que tu has respondido es mejor que nada y eso te lo agradezco mucho por si no queda claro
muchas gracias por la ayuda prestadaaaaaaaaa
2- Por suerte tenia un respaldo de mi archivo. Lo que me envías si me sirve y mucho pero me borro todas las hojas con todas las empresas que tenia y encada hoaja, ¿y yo solo quiero borrar las hojas que se me van creando hoja1 hoja2 hoja3 hasta 20 solo esas?
Abraham ojala no te moleste pero que información estoy omitiendo para que me puedas entender o a lo mejor tengo una muy mala redacción
solo necesito borrar las hojas1.hojas2 hasta la 20 y esto necesito asignarlo a un botón solo eso .
Mira yo le he dado muchas vueltas al asunto y si supiera hacerlo no estaría preguntando
lo único que se me ocurre es que la hoja1 se valla incrementando en un ciclo do while y hay borrarlas, pero ya lo ise y me sale error es por esto que pregunto a vox populi para ver si alguien a una amente pensante como todas se le ocurre algo mejor que lo que tengo yo... más corto y que no le salga error
gracias abraham por la paciencia y la ayuda...
¿Tienes alguna duda? ¿De lo que necesito?
Esto:
Dim x As Byte
Application.DisplayAlerts = False
On Error Resume Next
For x = 1 To 20
Worksheets("Hoja" & x).Delete
Next x
Application.DisplayAlerts = True
Abraham

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas