View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default Basic programming help

Yes, but you are passing A1:A2 as the range.
so multiple values cannot be put in a single Integer

This will work, assuming Range("A1").Offset(1,) contains a number in the
range -32,768 to 32,767.
=getsask(1, A1)

Or this
=getsask(1, A1:A2)
if you change the function:
Public Function GetSask(SaskNr As Integer, Target As Range) As Integer
Dim a As Integer
a = Target.Offset(1, 0).Range("A1").Value
GetSask = a
End Function

Also, what is the purpose of SaskNr, as it is not used ?

NickHK

"MaR" wrote in message
...
What I'm doing is I'm trying to go through whole cells in range and check
them by Value

"NickHK" rase:

What do you expect the value of Range("A1:A2").Offset(1, 0).Value to be

?
Will these values fit into a single integer ?

So
You need to check that Target is a single cell or take the .Value of the
first cell in the range.
Also, what if the .Value is not an integer ?

NickHK

"MaR" wrote in message
...
Code:
Function getsask(ByVal SaskNr As Integer, ByVal Target As Range)
Dim a As Integer
a = Target.Offset(1, 0).Value

getsask = a
End Function

When I do =getsask(1, A1:A2) i get #VALUE!

Any ideas how to correctly get Integer from cell?