#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default MOD problem

I have a problem which I do not understand. The result of the logic hereunder
would be to be 20. However I get 39 Why ???
Date = 5/19/2005 - 5498.6

Sub testWR()
'----------------------------------------------'
Dim nCalcTemp As Double, nWeekNr As Double
nCalcTemp = Int((Date - 2) / 7) + 0.6
nWeekNr = nCalcTemp Mod (52 + 5 / 28)
End Sub

This is equivalent to this (A3 contains 5/19/2005) which give 20 !
=INT(MOD(INT(($A3-2)/7)+0.6,52+5/28))+1


Many Thanks for your help.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,253
Default MOD problem


Dont confuse or equate VBA's MOD operator with
the MOD worksheetfunction.

VBA's mod operator is intended for longs and integers,
and if the arguments are floating points
the are *rounded to integers* first.

thus
nCalcTemp = 5498,6: rounded to 5499
52+5/28 = 52,1785 : rounded to 52
(5499 / 52 - 5499 \ 52) * 52 = 0,75 * 52 = 39!

note the use of the \ (backslash) operator
for integer division


To get 'your' 20 use:

Sub testMOD()
Dim nCalcTemp As Double, nWeekNr As Double
nCalcTemp = (Date - 2) \ 7 + 0.6
nWeekNr = 1 + (28 * nCalcTemp Mod (28 * 52 + 5)) \ 28
End Sub


--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Fr. Vandecan wrote :

I have a problem which I do not understand. The result of the logic
hereunder would be to be 20. However I get 39 Why ???
Date = 5/19/2005 - 5498.6

Sub testWR()
'----------------------------------------------'
Dim nCalcTemp As Double, nWeekNr As Double
nCalcTemp = Int((Date - 2) / 7) + 0.6
nWeekNr = nCalcTemp Mod (52 + 5 / 28)
End Sub

This is equivalent to this (A3 contains 5/19/2005) which give 20 !
=INT(MOD(INT(($A3-2)/7)+0.6,52+5/28))+1


Many Thanks for your help.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Colon at the end of excel file name(ex: problem.xls:1, problem.xls financeguy New Users to Excel 2 January 15th 10 01:15 AM
Started out as an Access problem. Now an Excel problem RobertM Excel Discussion (Misc queries) 2 April 26th 06 07:30 PM
problem with a conditional max problem Brian Cornejo Excel Discussion (Misc queries) 1 February 18th 05 06:25 PM
Problem when multipple users access shared xl-file at the same time, macrocode for solve this problem? OCI Excel Programming 0 May 16th 04 10:40 PM


All times are GMT +1. The time now is 04:19 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"