![]() |
newbie needs help again, function returns 0 ONLY
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 -- Message posted from http://www.ExcelForum.com |
newbie needs help again, function returns 0 ONLY
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. -- Michael Hopwood "whelanj " wrote in message ... 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 --- Message posted from http://www.ExcelForum.com/ |
newbie needs help again, function returns 0 ONLY
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) "whelanj " wrote in message ... 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 --- Message posted from http://www.ExcelForum.com/ |
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 |
All times are GMT +1. The time now is 10:48 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com