Modificar Macro para que se detenga al encontrar campo vacío

Tengo el siguiente código

If Nombre3 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3
End If
If Nombre4 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4
End If
If Nombre5 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5
End If
If Nombre6 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6
End If
If Nombre7 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6 & Nombre7
End If
If Nombre8 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6 & Nombre7 & Nombre8
End If

Quiero modificar esta macro para cuando encuentre el campo vacío, sea en nombre3, nombre4 o cualquier otro se detenga y no siga calculando pues me daña otras lógicas que tengo

1 Respuesta

Respuesta
1

Prueba así:

If Nombre3 = "" then exit sub
If Nombre3 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3
End If
If Nombre4 = "" then exit sub
If Nombre4 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4
End If
If Nombre5 = "" then exit sub
If Nombre5 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5
End If
If Nombre6 = "" then exit sub
If Nombre6 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6
End If
If Nombre7 = "" then exit sub
If Nombre7 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6 & Nombre7
End If
If Nombre8 = "" then exit sub
If Nombre8 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6 & Nombre7 & Nombre8
End If

El problema con esta solución es que tengo más código dentro del Sub, por lo cual si se sale ahí no termina de ejecutar la macro.

Seria algo como Exit If si hay algo asi

Prueba esto:

  If Nombre3 <> " " Then
    Nombre = Nombre1 & Nombre2 & Nombre3
    If Nombre4 <> " " Then
      Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4
      If Nombre5 <> " " Then
        Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5
        If Nombre6 <> " " Then
          Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6
          If Nombre7 <> " " Then
            Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6 & Nombre7
            If Nombre8 <> " " Then
              Nombre = Nombre1 & Nombre2 & Nombre3 & Nombre4 & Nombre5 & Nombre6 & Nombre7 & Nombre8
            End If
          End If
        End If
      End If
    End If
  End If
  '
  'Aquí continura con tu código
  '

¡Gracias! 

Un gusto ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas