ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Basic programming help (https://www.excelbanter.com/excel-programming/368506-basic-programming-help.html)

MaR

Basic programming help
 
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?

NickHK

Basic programming help
 
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?




MaR

Basic programming help
 
What I'm doing is I'm trying to go through whole cells in range and check
them by Value

"NickHK" rašė:

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?





NickHK

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?








All times are GMT +1. The time now is 08:56 AM.

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