RjS, CISSP, CISA
12/13/2006 2:38:00 PM
Thanks much for all the thoughtful replies. The conversion using cSng solves
the problem. In addition, the original Dim line read:
Dim HighPptyRow, lCreditSum, lDebitSum As Single
which, according to NickHK results in only the last value being declared as
Single and the remainder being declared as Variable. I was unaware of this
and it is certainly non-intuitive. So, declaring each variable as Single also
solves the problem.
I am still confused as to why, after months of working fine, the program
suddenly decides that an input value, formatted as Number, is now a Type
"Variant/String"?
Lastly, I am aware that the beginning character of each variable has
implications as to how that variable is or should be treated but I have never
ran across a table of those values. Does anyone know a refrence to this info?
Thanks again for all the great replies. They were all helpful, informative,
and valuable and I learned a lot from them.
"NickHK" wrote:
> At a guess, do you have declaration like :
> Dim lCreditSum, MySingleVar as single
>
> If so, this ONLY declares "MySingleVar" as a single ; "lCreditSum" is the
> default for undeclared variables - Variant.
> You need to explicitly state the datatype of each variable.
>
> Dim lCreditSum As Single, MySingleVar as Single
>
> NickHK
>
> <RjS>; <CISSP>; "CISA" <RjSCISSPCISA@discussions.microsoft.com> wrote in
> message news:50E5D3BB-B86C-4336-B644-90FCE60170E7@microsoft.com...
> > Hi - I have a VB program I wrote for excell some months ago. It has been
> > processing a bank report every day without a hitch for all that time.
> Today
> > it produced an entirely different and erroneous result. I traced the error
> to
> > the following statement:
> >
> > lCreditSum = lCreditSum + wsSRC.Cells(i, 13).Value
> >
> > Where lCreditSum is previously declared as a type Single. The SRC value is
> > formatted as a number with 2 decimal points. When I set a watch on the
> > lCreditSum variable and process a previous input report, its type
> assignment
> > remains as type Single throughout the entire run, but when it processes
> > todays input report the type assignment changes to a "Variant/String" on
> the
> > very first assignment. It then proceeds to append each new value to the
> > variable instead of adding the new values to the sum as its supposed to.
> >
> > Please, anybody... any suggestions? Absolutely nothing has changed with
> this
> > program for several months and I have examined in input reports in minute
> > detail and can detect no changes.
> >
> > Thanks much,
> >
>
>
>