View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Ron Rosenfeld[_2_] Ron Rosenfeld[_2_] is offline
external usenet poster
 
Posts: 1,045
Default Application vs WorksheetFunction

I'm not sure where this should go so I've posted to both the formula
and vba groups, as well as the old programming group.

Chip Pearson has written that the only difference, when calling an
Excel worksheetfunction, between using the Application object vs the
WorksheetFunction is error handling.

However, the following gives different results, for what appears to be
the same function. (The result is the same if SheetCredit is declared
as Double).

=========================
Option Explicit
Sub foo()
Const CashIn As Currency = 53.4
Const CashDue As Currency = 54.175
Dim SheetCredit As Currency

SheetCredit = CashIn - CashDue

Debug.Print "SheetCredit not Rounded", , SheetCredit

Debug.Print "WorksheetFunction.RoundDown:", _
WorksheetFunction.RoundDown(SheetCredit, 2)

Debug.Print "Application.RoundDown:", , _
Application.RoundDown(SheetCredit, 2)

End Sub
===============================

Immediate Window:

SheetCredit not Rounded -0.775
WorksheetFunction.RoundDown: -0.77
Application.RoundDown: -0.78

-----------------------------------------------------------------