Saltar al contenido

renombrar hoja y que no duplique el nombre si ya existe en el rango seleccionado para el nombre


Recommended Posts

publicado

hola buenos dias, 

tengo una macro que copia una hoja( ingreso), me copia el contenido y renombra la hoja con fecha del informe pero el problema que se me genera es cuando no modifico la fecha sigue corriendo la macro me crea otra hoja pero no renombra la hoja con la fecha porque ya existe en otra. mi consulta es 

¿ cómo puedo hacer para que se detenga la macro y que me avise en un mensaje que la fecha del informe ya existe y no se puede guardar ? para solucionar el problema 

adjunto la macro

Sub guardar()

Application.ScreenUpdating = False

    Sheets("ingreso").Copy After:=Sheets(1)
    ActiveSheet.Name = Range("d13")
    Sheets("ingreso").Select

Application.ScreenUpdating = True

Range("c19:e38").ClearContents

MsgBox ("guardado con éxito!!!!")

End Sub

GRACIAS de antemano por la ayuda !!!!!

 

quedo atento a comentarios 

 

 

publicado
Hace 23 minutos , AlexanderS dijo:

On Error Resume Next Set hoja = Sheets("Prueba3") If Err.Number = 9 Then

 Gracias por tu pronta respuesta pero como podria incluir en mi macro, no me resulta soy novato no se en que linea debo colocarla  y el mensaje " fecha del informe ya existe y no se puede guardar"

publicado
Ahora mismo, MIJAF35 dijo:

como podria incluir en mi macro, no me resulta soy novato no se en que linea debo colocarla 

 

Se me fue ese detalle con el nombre de la hoja no es Sheets("Prueba3"), lo correcto es Sheets(Range("d13"))

Solo debes copiar tu código dentro del que que yo te pase, así:

Sub guardar()

Application.ScreenUpdating = False

On Error Resume Next
Set hoja = Sheets(Range("d13"))

If Err.Number = 9 Then

    Sheets("ingreso").Copy After:=Sheets(1)
    ActiveSheet.Name = Range("d13")
    Sheets("ingreso").Select

Application.ScreenUpdating = True

Range("c19:e38").ClearContents

MsgBox ("guardado con éxito!!!!")

End If

End Sub

Pruebalo así y me comentas.

Saludos

publicado

Y con el mensaje :

Sub guardar()

Application.ScreenUpdating = False

On Error Resume Next
Set hoja = Sheets(Range("d13"))

If Err.Number = 9 Then

    Sheets("ingreso").Copy After:=Sheets(1)
    ActiveSheet.Name = Range("d13")
    Sheets("ingreso").Select

Application.ScreenUpdating = True

Range("c19:e38").ClearContents

MsgBox ("guardado con éxito!!!!")

Else

MsgBox "Fecha del informe ya existe y no se puede guardar"

End If

End Sub

Saludos

publicado
Hace 5 minutos , AlexanderS dijo:

Sub guardar()

Application.ScreenUpdating = False

On Error Resume Next
Set hoja = Sheets(Range("d13"))

If Err.Number = 9 Then

    Sheets("ingreso").Copy After:=Sheets(1)
    ActiveSheet.Name = Range("d13")
    Sheets("ingreso").Select

Application.ScreenUpdating = True

Range("c19:e38").ClearContents

MsgBox ("guardado con éxito!!!!")

Else

MsgBox "Fecha del informe ya existe y no se puede guardar"

End If

End Sub

 

 

publicado

Con un ejemplo siempre es mejor!.

El código esta bien el problema es como tienes la fecha y el nombre de la hoja, la fecha en la celda tiene formato 10/7/2020 y la hoja se llama 10-7-2020 por lo que no son iguales, en los nombres de las hojas no se admite el carácter "/".

Prueba ahora con el archivo.

Comentas , saludos. 

Informe Ejecutivo de Actividades Diarias.xlsm

publicado
Hace 6 minutos , AlexanderS dijo:

Con un ejemplo siempre es mejor!.

El código esta bien el problema es como tienes la fecha y el nombre de la hoja, la fecha en la celda tiene formato 10/7/2020 y la hoja se llama 10-7-2020 por lo que no son iguales, en los nombres de las hojas no se admite el carácter "/".

Prueba ahora con el archivo.

Comentas , saludos. 

Informe Ejecutivo de Actividades Diarias.xlsm 52.71 kB · 0 descargas

Estimado le agradezco infinitamente su disposición, gracias.!!!!! .  Era lo que necesitaba y me ayuda a seguir aprendiendo en este largo camino de las macros. Doy por tema cerrado

gracias 

publicado
Hace 12 minutos , MIJAF35 dijo:

Estimado le agradezco infinitamente su disposición, gracias.!!!!! .  Era lo que necesitaba y me ayuda a seguir aprendiendo en este largo camino de las macros. Doy por tema cerrado

gracias 

Siempre es un gusto!! buen día

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.