Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función CINT

| 9 comentarios

La función CInt convierte un decimal a un número entero.

La sintaxis de la función CInt es:

CInt (expresión)

Siendo “expresión” el valor que se desea convertir en un entero.

Se aplica para  Excel 2013, Excel 2011 para Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000 y sólo se puede utilizar en código de VBA.

Si el entero del decimal es “0” o par:

<=0.5; el resultado será redondeado a la baja, en este caso “0”.

>0.5; el resultado será redondeado a “1”.

Si el entero del decimal es impar:

<3.5; el resultado será redondeado a la baja, en este caso “3”.

>=3.5; el resultado será redondeado a “4”.

Ejemplo1:

Image002

 

Como vemos en este caso al decimal 748.7 la función Cint redondeará a 749 por ser mayor a 748.5

Ejemplo2:

Image001

En este caso vemos que la función CInt redondea a la baja el decimal 517.25 a solamente 517, por no ser mayor o igual a 517.5.

Ejemplo3:

Image004

 

24.5; es redondeado a la baja, en este caso 24 , aunque de haber sido 24.5000001 hubiese bastado para que sea redondeado a 25.

Finalmente paso a mostrarles el código vba del formulario:

Private Sub CommandButton1_Click()
TextBox1.Text = True
TextBox2.Text = True

End Sub

Private Sub TextBox1_Change()
TextBox1.Text = Left((Rnd * 100), 4)
End Sub

Private Sub TextBox2_Change()
TextBox2.Text = CInt(TextBox1.Text)

If Int(TextBox1.Text) = TextBox2.Text Then
TextBox2.ForeColor = RGB(0, 0, 200)
Else
TextBox2.ForeColor = RGB(200, 0, 0)
End If
End Sub

Descargar ejemplo de Function CInt

Elaborado por: Salas Miguel A.

9 comentarios

  1. Esta función trabaja muy similar a la función: REDONDEAR(expr, nro_dec) de Excel.
    siempre y cuando el valor del argumento "nro_dec" sea igual a 0 (cero).

  2. En el código

    Private Sub CommandButton1_Click()
    TextBox1.Text = True
    TextBox2.Text = True

    End Sub

    entiendo que la propiedad Text de las cajas de texto es booleana e indica si el contenido de la caja ha cambiado o no al ponerlas en true habilita la ejecución de los procedimientos

    Private Sub TextBox1_Change() y

    Private Sub TextBox2_Change()

    ahora, en el codigo de este último procedimiento:

    Private Sub TextBox2_Change()
    TextBox2.Text = CInt(TextBox1.Text)

    If Int(TextBox1.Text) = TextBox2.Text Then
    TextBox2.ForeColor = RGB(0, 0, 200)
    Else
    TextBox2.ForeColor = RGB(200, 0, 0)
    End If
    End Sub

    es que se usa la funcion CINT para convertir el decimal a entero. Para pintar la respuesta en rojo compara la parte entera del numero de la primera caja con el numero redondeado, si son iguales significara que la aproximación ha sido a la baja.

    Un número decimal aleatorio aparece en la primera caja cada vez que se apreba el botón d ecomando, gracias al código:

    TextBox1.Text = Left((Rnd * 100), 4)

    en éste, la función Rnd genera un aleatorio entre 0 y 100 pero ¿cuál es el funcionamiento de la función Left y su parámetro 4?

  3. ¿Cuáles son las ventajas de utilizar CInt() en vez de redondear.mas() y redondear.menos()?

  4. Es interesante como trata de diferente manera a los enteros par e impar con decimales.

  5. No me quedó muy claro cómo es que podría usar esta función en una nueva hoja de excel.

  6. ¿Por qué se hace un tratamiento distinto de los números pares o impares?

  7. Esta importante función difiere de las función Fix, en que, en lugar de redondear, truncan la parte fraccionaria de un número. Además, Fix siempre devuelven un valor del mismo tipo de datos que recibe....muy útil esta función.

  8. Interesante ejemplo

  9. Cómo podría utilizar esta función sin aplicar formularios? Por ejemplo si cuento con una columna llena de números decimales.

Deja una respuesta

Los campos requeridos estan marcados con *.