From: Philosophaie on
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
From: Rick Rothstein on
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?

--
Rick (MVP - Excel)



"Philosophaie" <Philosophaie(a)discussions.microsoft.com> wrote in message
news:23889DEA-C7AC-4FFC-A9C3-EA63E1CE8DCA(a)microsoft.com...
> 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

From: Philosophaie on
for h = 1 to 23
...
next h

deg(1)=20
min(1)=45
sec(1)=21
DEGt(1)=20.755833333
From: Rick Rothstein on
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).

--
Rick (MVP - Excel)



"Philosophaie" <Philosophaie(a)discussions.microsoft.com> wrote in message
news:302FD2FA-1010-4ED4-9EA8-34B30BF9C670(a)microsoft.com...
> for h = 1 to 23
> ...
> next h
>
> deg(1)=20
> min(1)=45
> sec(1)=21
> DEGt(1)=20.755833333