Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Function returning null value instead of string value
Hi, I have a combo box with some values in it. Now, I want to make a function wherein I pass the value of the combo box as a string parameter and return a specific string value corresponding to the string parameter passed. I am able to pass the parametric value, but the value returned is "blank" or "null" instead of the string value that the function should be returning. Why is this happening? Below is the code that I am using for the function and how I am passing the value into it. Please help. Code: -------------------- Function convertDiv(oDiv As String) As String Dim wDiv, oDivID As String wDiv = oDiv If wDiv = "A" Then oDivID = "1" ElseIf wDiv = "B" Then oDivID = "2" ElseIf wDiv = "C" Then oDivID = "3" ElseIf wDiv = "D" Then oDivID = "4" ElseIf wDiv = "E" Then oDivID = "5" ElseIf wDiv = "F" Then oDivID = "6" ElseIf wDiv = "G" Then oDivID = "7" End If convertDiv = oDivID End Sub -------------------- Code: -------------------- Sub init() Dim a As String a = convertDiv(Trim(combo1.Value)) lblType.Caption = a End Sub -------------------- Peace, Shivboy -- shivboy ------------------------------------------------------------------------ shivboy's Profile: http://www.excelforum.com/member.php...o&userid=35137 View this thread: http://www.excelforum.com/showthread...hreadid=559197 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Function returning null value instead of string value
Hello Shivboy Try using a Select Case statement in place of the nested If ElseI statements.. Code ------------------- Function convertDiv(oDiv As String) As Strin Dim wDiv, oDivID As Strin wDiv = oDi Select Case wDi Case Is = "A" oDivID = "1 Case Is = "B" oDivID = "2 Case Is = "C" oDivID = "3 Case Is = "D" oDivID = "4 Case Is = "E" oDivID = "5 Case Is = "F" oDivID = "6 Case Is = "G" oDivID = "7 End Selec convertDiv = oDivI End Functio ------------------- This makes your code easier to read and troubleshoot. Nested I statements can become a real headache quickly. Not sure if you rename your ComboBox to Combo1, but if you didn't you need to change it i your code to ComboBox1 Sincerely Leith Ros -- Leith Ros ----------------------------------------------------------------------- Leith Ross's Profile: http://www.excelforum.com/member.php...fo&userid=1846 View this thread: http://www.excelforum.com/showthread.php?threadid=55919 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Function returning null value instead of string value
Thanks Leith, it worked. Thanks a lot buddy. Leith Ross Wrote: Hello Shivboy, Try using a Select Case statement in place of the nested If ElseIf statements... Code: -------------------- Function convertDiv(oDiv As String) As String Dim wDiv, oDivID As String wDiv = oDiv Select Case wDiv Case Is = "A" oDivID = "1" Case Is = "B" oDivID = "2" Case Is = "C" oDivID = "3" Case Is = "D" oDivID = "4" Case Is = "E" oDivID = "5" Case Is = "F" oDivID = "6" Case Is = "G" oDivID = "7" End Select convertDiv = oDivID End Function -------------------- This makes your code easier to read and troubleshoot. Nested If statements can become a real headache quickly. Not sure if you renamed your ComboBox to Combo1, but if you didn't you need to change it in your code to ComboBox1. Sincerely, Leith Ross -- shivboy ------------------------------------------------------------------------ shivboy's Profile: http://www.excelforum.com/member.php...o&userid=35137 View this thread: http://www.excelforum.com/showthread...hreadid=559197 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Function returning null value instead of string value
Hi. Here is the first and last line of your code...
Function convertDiv(oDiv As String) As String End Sub The last line should be "End Function" Maybe another option? Function ConvertDiv(oDiv As String) As String If Len(oDiv) 1 Then Exit Function Select Case oDiv Case "A" To "G" ConvertDiv = Chr(Asc(oDiv) - 16) End Select End Function -- HTH. :) Dana DeLouis Windows XP, Office 2003 "shivboy" wrote in message ... Hi, I have a combo box with some values in it. Now, I want to make a function wherein I pass the value of the combo box as a string parameter and return a specific string value corresponding to the string parameter passed. I am able to pass the parametric value, but the value returned is "blank" or "null" instead of the string value that the function should be returning. Why is this happening? Below is the code that I am using for the function and how I am passing the value into it. Please help. Code: -------------------- Function convertDiv(oDiv As String) As String Dim wDiv, oDivID As String wDiv = oDiv If wDiv = "A" Then oDivID = "1" ElseIf wDiv = "B" Then oDivID = "2" ElseIf wDiv = "C" Then oDivID = "3" ElseIf wDiv = "D" Then oDivID = "4" ElseIf wDiv = "E" Then oDivID = "5" ElseIf wDiv = "F" Then oDivID = "6" ElseIf wDiv = "G" Then oDivID = "7" End If convertDiv = oDivID End Sub -------------------- Code: -------------------- Sub init() Dim a As String a = convertDiv(Trim(combo1.Value)) lblType.Caption = a End Sub -------------------- Peace, Shivboy -- shivboy ------------------------------------------------------------------------ shivboy's Profile: http://www.excelforum.com/member.php...o&userid=35137 View this thread: http://www.excelforum.com/showthread...hreadid=559197 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Hyperion Essbase Excel Add-in - returning text ("0") for null valu | Excel Discussion (Misc queries) | |||
Returning date instead of 'not null' | Excel Worksheet Functions | |||
How suppress chart points - cells with formulae returning null | Charts and Charting in Excel | |||
Replace null string with blank cell | Excel Discussion (Misc queries) | |||
Returning a string from a function | Excel Programming |