Borra hoaja nueva excel sin preguntar

Ojala me puedas ayudar tengo una archivo en excel donde tengo
12 empresas y a cada 1 de ellas le tengo macros asignadas todo esto en un from
visul basic, al momento de ejecutar estas macros para cada empresa
y como estas tienen macros unas de estas macros saca información de una archivo
y crea una tabla dinámica en el momento de crear la tabla dinámica este me genera una hoja1 y así con todas mis empresas la cosa es que me lleno de hojas1, hojas2 hasta la hoja12 yo intente borrarlas con
 Application.DisplayAlerts = False
Sheets("hoja1").Select
ActiveWindow.SelectedSheets.Delete 'borra hoja sin preguntar
Application.DisplayAlerts = True
El problema es que si dejo el correlativo de ejecución o cierro el archivo
excel empiesa de hoja1 entonces al momento de volver a ejecutar la empresa
me manda un error claro si no estoy borrando la hoja que corresponde
pregunta
habrá algo que borre la hoaja nueva sin importar que sea hoja1, hoja2...
Ya intente solo con
ActiveWindow.SelectedSheets.Delete 
Pero este me borra hojas que le tengo nombres específicos
independiente donde lo coloque, me borra hojas que no quiero y las hojas1 y todas que quiero borar ni las toca
espero me puedas ayudar
gracias...
Pd : lamento la larga introducción se que si hay una respuesta es muy corta ji

1 respuesta

Respuesta
1
'Lo que se me ocurre es que puedes usar un vector de strings
'para almacenar todos los nombres de las hojas que se crean, y que
'luego serán borradas, necesitarás el siguiente código:
'inicializando variables necesarias:
Dim cienhojastemporales(100) As String
Dim contadorA As Integer
Dim contadorB As Integer
contadorA = 1
contadorB = 1
'___________________
'ejecuta esto cada vez que crees una hoja temporal, y luego de que ésta esté seleccionada:
cienhojastemporales(contadorA) = ActiveSheet.Name
contadorA = contadorA + 1
'_________________
'ejecuta esto cuando quieras borras todas las hojas temporales que creaste:
Application.DisplayAlerts = False
Application.ScreenUpdating = False
While cienhojastemporales(contadorB) <> ""
Sheets(cienhojastemporales(contadorB)).Select
ActiveWindow.SelectedSheets.Delete
contadorB = contadorB + 1
Wend
contadorA = 1
contadorB = 1
Application.ScreenUpdating = True
Application.DisplayAlerts = True
'_____________________________

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas