View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Ron Rosenfeld Ron Rosenfeld is offline
external usenet poster
 
Posts: 5,651
Default newbie needs help again, function returns 0 ONLY

On Wed, 9 Jun 2004 13:42:27 -0500, whelanj
wrote:

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
==========================





---
Message posted from http://www.ExcelForum.com/


--ron