Declare Function MulDiv Lib "kernel32" (ByVal nNumber As Long, ByVal nNumerator As Long, ByVal nDenominator As Long) As Long
В случае ошибки (если результат превышает 32-битное значение или используется деление на 0) функция возвращает -1. В успешном случае возвращается результат умножения/деления
' Демострация того, как избежать ошибки переполнения Dim result As Long ' Без функции MulDiv вы получите ошибку переполнения ' так как результать умножения превышает 32-битное значение 'result = -134217728 * 243 / 110592 ' строка закомментирована ' С MulDiv вы можете избежать этой ошибки result = MulDiv(-134217728, 243, 110592)