Utiliza la siguiente función:
Function RedondearCant(celda As Variant)
Dim ent As Long, dec As Long
ent = Int(celda)
dec = Int((celda - ent) * 100)
Select Case dec
Case Is < 25
celda = ent
Case Is < 65
celda = ent + 0.5
Case Else
celda = ent + 1
End Select
RedondearCant = celda
End Function
Sigue las Instrucciones para una Función
- Abre tu libro de excel
- Para abrir VBa y poder pegar la función, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la función
- En cualquier celda utiliza la función, como cualquier otra función de excel
- Regresa a la hoja de excel, por ejemplo, para redondear el valor de la celda "B8" en la celda "C8" escribe la función:
=RedondearCant(B8)
Ejemplo:
Si quieres un ejemplo de cómo se aplica en una macro:
Sub test()
Dim celda As Double
Dim ent As Long, dec As Long
'
celda = 3.25 'ejemplo
ent = Int(celda)
dec = Int((celda - ent) * 100)
Select Case dec
Case Is < 25
celda = ent
Case Is < 65
celda = ent + 0.5
Case Else
celda = ent + 1
End Select
MsgBox celda
End Sub
[No olvides valorar la respuesta]