Código de macro para verificar hoja.

He creado una macro que recoge datos de una hoja para pegarlos en otra, ¿pero necesito comprobar que la hoja donde están los datos a copiar que se llama? PEGAR_DATOS? Existe, antes de proceder al conteo de líneas y después al copiado a la otra hoja.
Por favor alguien me puede indicar que código necesito en lenguaje de macros de Excel para comprobar que una hoja existe, en caso contrario mostraría un mensaje de msgbox indicando que hay que crear dicha hoja.

1 Respuesta

Respuesta
2
Hay varias formas de hacer lo que dices, yo te propongo esta:
Sub Hoja()
On Error Resume Next
Sheets("PEGAR-DATOS").Activate
On Error GoTo 0
If ActiveSheet.Name <> "PEGAR-DATOS" Then MsgBox ("NO EXISTE")
End Sub
Te explico un poco:las sentencias "On error resume next...(Código)... On error goto 0: lo que hacen es ignorar un error cuando éste ocurre. Es decir, que si en el código que hay entre las dos sentencias se produce un error en tiempo de ejecución, la macro no se parará sino que seguirá ejecutándose pasando a la siguiente línea. A partir de esta idea, el código hace básicamente lo siguiente: se activa la hoja del libro llamada PEGAR-DATOS. Si ésta no existe, no pasa nada, se queda activada la hoja en la que estaba antes de ejecutar la macro. Y después analizo si la hoja que está activa se llama PEGAR-DATOS. Si no se llama así, es que no existe, y por tanto sale un mensaje avisándote. En fin, como siempre, si te queda cualquier duda, vuelve a preguntarme y con gusto te ayudo. Si resolví tu duda, por favor, valora el esfuerzo realizado, y no olvides finalizar la pregunta.
Gracias por tu ayuda. Al final para salir de la macro puse If ActiveSheet.Name <> "PEGAR_DATOS" Then Exit Sub, y me funciono correctamente. Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas