Tengo esta macro (codigo) para eliminar hojas de excel colocando el prefijo solamente.
XE. al preguntarme coloco m doy Aceptar y me elimina las hojas que comiencen por m o M
Lo malo es que si le doy en Cancelar me elimina TODAS menos una, sean 20, 30, 50 hojas que tenga en el libro
Si le elimino la linea roja no me elimina ninguna pero me sigue diciendo que elimino X hojas (la totalidad) y no es cierto
Quisiera que si le doy Cancelar me diga; "No se eliminó ninguna hoja" pero que de verdad no elimine pero tambien que pueda tener la linea roja activa para cuando coloque un prefijo para eliminar
Sub borrar_con_prefijo()
'si hay errores que continúe
On Error Resume Next
'omitimos los avisos
Application.DisplayAlerts = False
'preguntamos el prefijo
respuesta = InputBox("Prefijo de las hojas a borrar", "Pregunta")
'contamos el largo de la respuesta
largo = Len(respuesta)
'para todas las hojas
For Each hoja In Sheets
'comprobamos si coincide el prefijo
If Left(hoja.Name, largo) = respuesta Then
'la borramos
Sheets(hoja.Name).Select
ActiveSheet.Delete
'creamos un contador
contador = contador + 1
End If
Next
Sheets(1).Select
'si hay contador, mostramos un mensaje
If contador Then MsgBox ("Se han eliminado " & contador & " hojas.")
End Sub
XE. al preguntarme coloco m doy Aceptar y me elimina las hojas que comiencen por m o M
Lo malo es que si le doy en Cancelar me elimina TODAS menos una, sean 20, 30, 50 hojas que tenga en el libro
Si le elimino la linea roja no me elimina ninguna pero me sigue diciendo que elimino X hojas (la totalidad) y no es cierto
Quisiera que si le doy Cancelar me diga; "No se eliminó ninguna hoja" pero que de verdad no elimine pero tambien que pueda tener la linea roja activa para cuando coloque un prefijo para eliminar