ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Works fine in debug, but... (https://www.excelbanter.com/excel-programming/354277-works-fine-debug-but.html)

DiBaco

Works fine in debug, but...
 
Hi all,

I can't get my head around why this simple piece of code won't work in
release, but does in step-by-step debugging. This code is part of a
userform with two calendars on it.

Ideas anyone?

p.s. I'm guessing the Analysis Toolpack function "networkdays" is the
cause, but why?

Private Sub CalendarEnd_Click()

Dim sDay As Date
Dim eDay As Date
Dim nwDays As Integer

On Error GoTo Skip
sDay = CalendarStart.Value
eDay = CalendarEnd.Value

nwDays = networkdays(sDay, eDay)
If nwDays < 1 Then GoTo Skip
UserForm2.TextBox2.Value = nwDays

Exit Sub


tony h[_76_]

Works fine in debug, but...
 

A classic problem that is evidenced by code working when in debug but
not when run straight through is that there are other process that need
to be given processor time to complete. To do this programmatically you
use the doevents. Finding whereto put it is a bit more difficult but
with this short piece of code you could put a doevents between each
line.

If that works you could try removing them one by one until it goes
wrong again then you will know which is the important one (or more).

Hope this helps. let us know how you get on.

regards,
Anthony


--
tony h
------------------------------------------------------------------------
tony h's Profile: http://www.excelforum.com/member.php...o&userid=21074
View this thread: http://www.excelforum.com/showthread...hreadid=516141


DiBaco

Works fine in debug, but...
 
Anthony ,
Thanks for the suggestions.
Tried this, no joy.

I've determined that the line nwDays = Networkdays(sDay, eDay) is
causing the error, Runtime 13, type mismatch.

I've tried other otions, like

eDay = CDate(eDay) and
eDay = Format(eDay, "dd/mm/yyyy")

and also tried Variant, Long etc. for the nwDays variable

Any other suggestions are more than welcome.


Peter T

Works fine in debug, but...
 
Are you sure sDay & eDay both evaluate to +ve numbers

try
nwDays = networkdays(Date, Date + 21)

Regards
Peter T


"DiBaco" wrote in message
ups.com...
Anthony ,
Thanks for the suggestions.
Tried this, no joy.

I've determined that the line nwDays = Networkdays(sDay, eDay) is
causing the error, Runtime 13, type mismatch.

I've tried other otions, like

eDay = CDate(eDay) and
eDay = Format(eDay, "dd/mm/yyyy")

and also tried Variant, Long etc. for the nwDays variable

Any other suggestions are more than welcome.




DiBaco

Works fine in debug, but...
 
sorry to say, same error

tries switching values with
If eDay < sDay Then

and If eDay sDay Then

same error.

will try to build something from scratch and see what happens..

Thanks for your efforts


DiBaco

Works fine in debug, but...
 
building from scratch doesn't give the error.... weird

guess I'll have to redo the whole thing...

:-(



All times are GMT +1. The time now is 09:21 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com