Condición VBA "Si la hoja existe" Entonces...

Apprenti -  
ccm81 Mensajes publicados 11033 Estado Miembro -
Hola,

En mi macro, necesito verificar si la hoja "NOM" existe antes de continuar con mi procedimiento, pero no sé cómo se escribe eso en VBA, ¿alguien tendría una respuesta?

¡Gracias!

Configuración: Windows XP / Internet Explorer 6.0

5 respuestas

  1. Patrice33740 Mensajes publicados 8400 Fecha de registro   Estado Miembro Última intervención   1 784
     
    Hola,

    No es necesario hacer un bucle para buscar si la hoja existe,
    solo hace falta hacer esto:

    Function Feuille_Existe(ByVal Nom_Feuille As String) As Boolean Dim Feuille As Excel.Worksheet On Error GoTo Feuille_Absente_Error Set Feuille = ActiveWorkbook.Worksheets(Nom_Feuille) On Error GoTo 0 Feuille_Existe= True Exit Function Feuille_Absente_Error: Feuille_Existe= False End Function

    y para usarlo :

    If Feuille_Existe("Feuil1") Then
    o

    If Not Feuille_Existe("Feuil1") Then
    6
    1. Marc
       

      Hola, Patrice

      Muchas gracias, su función para probar

      si existe una hoja, funciona perfectamente

      Es exactamente lo que necesitaba

      He intentado adaptarlo para un funcionamiento directamente en la macro sin éxito

      pero no es muy importante, usar una función es al final mucho

      más práctico

      Gracias de nuevo

      Atentamente

      0
    2. ccm81 Mensajes publicados 11033 Estado Miembro 2 434
       

      Hola a todos

      Un poco más sencillo para hoja_existe

      Función Pública HojaExiste(nomf Como String) Como Boolean
      On Error Resume Next
      HojaExiste = No (Hojas(nomf) Es Nada)
      Fin Función

      Saludos

      0