newbie needs help again, function returns 0 ONLY

W

whelanj

Me again. As explained about a half hour ago, newbie user to VB. No
really sure of grammar and stuff and I can't see what's going on here
Basically, the formula takes the area of a building and assigns it
ranking integer. Any input result in as output of 0 (zero). Help..
btw, are there any good sites out there for a quick and dirty intro t
VB - grammar, basic functions and statements, etc.? Not excel specifi
necessarily... thanks. Oh! Here's the code:




Function SizeRank(Area As Integer) As Integer

If Area > 10000 Then
Size = 1
ElseIf Area <= 10000 And Area > 5000 Then
Size = 2
ElseIf Area <= 5000 And Area > 2000 Then
Size = 3
ElseIf Area <= 2000 And Area > 600 Then
Size = 4
ElseIf Area <= 600 Then
Size = 5
End If

End Functio
 
M

Michael Hopwood

Function SizeRank(Area As Integer) As Integer
If Area > 10000 Then
Size = 1



The above line should be:

SizeRank = 1


ElseIf Area <= 10000 And Area > 5000 Then
Size = 2
ElseIf Area <= 5000 And Area > 2000 Then
Size = 3
ElseIf Area <= 2000 And Area > 600 Then
Size = 4
ElseIf Area <= 600 Then
Size = 5
End If

End Function



You need to assign the value you want your function to return to the name of
the function.
 
B

Bob Phillips

Function SizeRank(Area As Integer) As Integer

If Area > 10000 Then
SizeRank = 1
ElseIf Area <= 10000 And Area > 5000 Then
SizeRank = 2
ElseIf Area <= 5000 And Area > 2000 Then
SizeRank = 3
ElseIf Area <= 2000 And Area > 600 Then
SizeRank = 4
ElseIf Area <= 600 Then
SizeRank = 5
End If

End Function

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)
 
R

Ron Rosenfeld

Me again. As explained about a half hour ago, newbie user to VB. Not
really sure of grammar and stuff and I can't see what's going on here.
Basically, the formula takes the area of a building and assigns it a
ranking integer. Any input result in as output of 0 (zero). Help...
btw, are there any good sites out there for a quick and dirty intro to
VB - grammar, basic functions and statements, etc.? Not excel specific
necessarily... thanks. Oh! Here's the code:




Function SizeRank(Area As Integer) As Integer

If Area > 10000 Then
Size = 1
ElseIf Area <= 10000 And Area > 5000 Then
Size = 2
ElseIf Area <= 5000 And Area > 2000 Then
Size = 3
ElseIf Area <= 2000 And Area > 600 Then
Size = 4
ElseIf Area <= 600 Then
Size = 5
End If

End Function

Well, you never set SizeRank equal to anything. So it remains set at 0 which
is the default when you enter the function.

Try this (simplified a bit, also):

=============================
Function SizeRank(Area As Integer) As Integer

If Area > 10000 Then
SizeRank = 1
ElseIf Area > 5000 Then
SizeRank = 2
ElseIf Area > 2000 Then
SizeRank = 3
ElseIf Area > 600 Then
SizeRank = 4
Else
SizeRank = 5
End If

End Function
=============================

or, my preference:

==========================
Function SizeRank(Area As Integer) As Integer

Select Case Area
Case Is > 10000
SizeRank = 1
Case Is > 5000
SizeRank = 2
Case Is > 2000
SizeRank = 3
Case Is > 600
SizeRank = 4
Case Else
SizeRank = 5
End Select

End Function
==========================




--ron
 
Top