CDbl and "Type mismatch"

P

Philosophaie

Neither of these cases work. I just get a "Type mismatch" error.

Dim deg(10), min(10), sec(10), DEGt(10) as Double

deg(h) = CDbl(.Cells(2 + h, 3))
min(h) = CDbl(.Cells(2 + h, 4))
sec(h) = CDbl(.Cells(2 + h, 5))
DEGt(h) = deg(h) + min(h))/ 60 + sec(h) / 3600
or
deg(h) = .Cells(2 + h, 3)
min(h) = .Cells(2 + h, 4)
sec(h) = .Cells(2 + h, 5))
DEGt(h) = CDbl(deg(h)) + CDbl(min(h)) / 60 + CDbl(sec(h)) / 3600
 
R

Rick Rothstein

I'm guessing "h" is a loop variable... what values does it iterate over?
Also, **exactly** what is in your cells that you are trying to convert (show
us an example or two)? Also, I see a "dot" in front of the Cells call...
what is it having the cell refer back to?
 
R

Rick Rothstein

I'm not entirely sure why you are getting a "Type Mismatch" error, at least
not with the code fragment you showed us (maybe the error is occurring
elsewhere in your code), but your array limits are wrong. You showed this in
your code...
Dim deg(10), min(10), sec(10), DEGt(10) as Double

and you just told me this...
for h = 1 to 23

so when "h" hits 11, there will be a problem as your array is not big enough
to hold that index value (but I would not expect a "Type Mismatch" error to
be occurring for it). Perhaps if you post all of your code (copy/paste it,
don't retype it as I see some mistyping in the code you posted originally).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top