Mínimos y Máximos en cuadros de texto independientes Formulario

Tengo un formulario con 4 cuadros de texto independientes que tiene un valor numérico calculado en cada uno de ellos. ¿Cómo puedo crear dos cuadro de texto independientes (mínimo y máximo), que coja los valores de aquellos 4 cuadros de texto y muestren los valores en criterios de máximos y mínimos?. Es decir, sacar el máximo y el mínimo de varios valores de un formulario. (No tengo tablas ni consultas).

1 Respuesta

Respuesta
1

Esto se puede hacer con la función ParamArray para pasarle el valor de los controles. Observe este formulario

Código de los botones:

BOTÓN CALCULAR

Private Sub tbnCalcular_Click()
 Me.ctlmaximo = v_maximo(Me.ctl1, Me.ctl2, Me.ctl3, Me.ctl4)
 Me.ctlminimo = v_minimo(Me.ctl1, Me.ctl2, Me.ctl3, Me.ctl4)
End Sub

BOTÓN LIMPIAR

Private Sub ctlLimpiar_Click()
  Me.ctl1 = Null
  Me.ctl2 = Null
  Me.ctl3 = Null
  Me.ctl4 = Null
  Me.ctlmaximo = Null
  Me.ctlminimo = Null
End Sub

CÓDIGO DE LA FUNCIÓN V_MAXIMO

  Public Function v_maximo(ParamArray p()) As Variant
    Dim i As Long
    Dim v As Variant
    v = p(LBound(p))
    For i = LBound(p) + 1 To UBound(p)
      If v < p(i) Then
         v = p(i)
      End If
    Next
    v_maximo = v
  End Function

CÓDIGO DE LA FUNCIÓN V_MINIMO

  Public Function v_minimo(ParamArray p()) As Variant
    Dim i As Long
    Dim v As Variant
    v = p(LBound(p))
    For i = LBound(p) + 1 To UBound(p)
      If v > p(i) Then
         v = p(i)
      End If
    Next
    v_minimo = v
  End Function

Si fueran más controles, por ejemplo, 20, es más práctico recorrer los controles con un FOR EACH.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas