Visual Basic - Do y Loop until VB en excel

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Do y Loop until VB en excel

Publicado por Rolando (4 intervenciones) el 25/07/2023 21:37:46
Buenos días, tengo un tema. Soy nuevo en Visual Basic y estoy aprendiendo solo por mi cuenta. Tengo un problema, estoy haciendo un formulario para que se pase a una
Hoja en forma de base de datos, el tema es que ,ciertos campos deben tener condicionantes, un ejemplo de ellas es la del nombre, que no puede tener espacios y tambien que debe ser un
cuadro obligatorio de llenar, cuando compilo y corro la macro en excel no tengo tema con el que el cuadro se quede en blanco. me manda un loop que este campo debe ser llenado, sin embargo
cuando pongo la condicionante de que no debe haber espacios ahi es donde me bota el error, no se si estoy haciendo mal el segundo loop o algo me falta. Ya puse los dos en un If y un else if y solo me toma en cuenta el
que este vacio.
Alguien me puede ayudar para que estas dos funciones se cumplan y no pase hasta la siguiente pregunta hasta que este bien escrito lo que solicita el formulario?

Me manda el error Se ha producido el erro en tiempos de ejecución error 13 No coinciden los tipos.

este es mi codigo

' Mostrar el cuadro de diálogo para llenar el formulario y que tampoco haya espacios en blanco entre nombres
Do
nombre = UCase(Trim(InputBox("Ingrese el Nombre:")))
If nombre = "" Then
MsgBox "El Nombre es un campo requerido. Por favor, ingréselo.", vbExclamation, "Campo requerido"
End If
Loop Until nombre <> ""

Do
If InStr(nombre, " ") > 0 Then
MsgBox "Los campos no pueden contener espacios.", vbExclamation, "Espacios no permitidos"
End If
Loop Until nombre <> (InStr(nombre, " ") > 0)


(el error me lo marca en la ultima linea del codigo

GRACIAS DE ANTEMANO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Do y Loop until VB en excel

Publicado por Antoni Masana (558 intervenciones) el 26/07/2023 03:08:23
Esta es la forma de hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Macro()
    Dim Nombre As String
    Nombre = ""
    Do
        Nombre = UCase(Trim(InputBox("Ingrese el Nombre:", "NOMBRE SIN ESPACIOS", Nombre)))
        If Nombre = "" Then
            MsgBox "El Nombre es un campo requerido. Por favor, ingréselo.", vbExclamation, "Campo requerido"
        End If
 
        If InStr(Nombre, " ") > 0 Then
            MsgBox "Los campos no pueden contener espacios.", vbExclamation, "Espacios no permitidos"
        End If
    Loop Until Nombre <> "" And InStr(Nombre, " ") = 0
    MsgBox Nombre
End Sub


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar