Condiciones de edad y sexo en Excel VBA

Que tal amigo del foro, tengo la siguiente duda que no puedo solucionar:

Mi problema es que quiero condicionar algunas hojas de excel mediante un formulario de vba, estas condiciones deben tomar sus datos de un textbox, un combobox, le muestro el código que utilizo pero me sigue brincando las condiciones de "if".

Btnaceptar click()

dim txtedad as integer

if txtedad >= 35 and >= 45 and combo_sexo = "Masculino" then

hoja51.activate

range("k17")="35 - 45 Años"

Range("m17")="0..0"

Range("o17")="2.0"

end if

if txtedad <= 60 and >= 45 and combo_sexo = "Masculino" then

hoja52.activate

range("k17")="46 - 60 Años"

Range("m17")="0..0"

Range("o17")="3.0"

end if

Lo que sucede es que siempre cuando termina de ejecutar la macro el resultado final es de la segunda macro, no importa si la edad es 20 o 99 siempre hace lo mismo, no se donde estoy aplicando mal la macro.

Les agradeceria mucho que me pudieran ayudar con este detalle.

2 Respuestas

Respuesta
1

El problema es que falta txtedad

if txtedad >= 35 and txtedad  >= 45 and combo_sexo = "Masculino" then

https://programarexcel.com descarga ejemplos de macros gratis

https://youtube.com/programarexcel mira tutoriales sobre ejemplos de macros

Respuesta
1

[Hola

Tal parece que el problema está en tu "If"; sugiero cambiar estas dos líneas:

If txtedad >= 35 and txtedad <= 45 and combo_sexo = "Masculino" then
If txtedad >= 46 and txtedad <= 60 and combo_sexo = "Masculino" then

Comentas

Abraham Valencia

amigo te repito mi respuesta 

que tal amigo mira estuve probando variantes a mi macro pero igual el mismo problema, cheque con la depuracion de f8 y veo claramente que no se valida ninguna de las condiciones

te anexo mi macro actual

Private Sub btn_envio_Click()
Application.ScreenUpdating = False

Dim txtedad As Integer

'de este if de va directo al end if (1)

If txtedad > 1 And txtedad < 15 Then
Hoja57.Activate
End If '(1)

'De este if se va al end if(2)

If txtedad > 15 And txtedad < 100 Then
Hoja54.Activate

End If'(2)

end sub

y no valida el valor he probado con los valores 2,8,10, 20, 22,80 y sigo igual

gracias

Coloca tu archivo en algún "Drive" y comparte por aquí el enlace.

Saludos]

Abraham Valencia

¡Gracias! Una disculpa a todos por haber invertido su tiempo, encontré el error, estaba haciendo mal la escritura, me explico: "yo ponía txtedad, y era txt_edad", una vez corregido esto ya funcionaron las condiciones, me di cuenta cuando utilice la instrucción "me", les agradezco mucho sus comentarios y de nuevo me disculpo por la perdida de su apreciable tiempo, gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas