这个VB代码怎么了?

时间:2012-04-21 19:16:49

标签: excel-vba vba excel

Function nameTonumber(name As String)

    Dim number As Integer
    number = 0

    If (name = "Aa") Then

        number = 1

    ElseIf (name = "Bb") Then

        number = 2

    ElseIf (name = "Cc") Then

        number = 3

    Else

        number = 0

    End If

End Function

2 个答案:

答案 0 :(得分:2)

  1. If条件的括号是多余的。
  2. Else是多余的 - number已经为零。
  3. 您不会返回任何值。
  4. 您没有指定退货类型。
  5. 您可以使用Select Case对此表单进行多次测试,使其更具可读性。
  6. 如果这是VB.NET代码,还有更多。

    在风格上,你的代码会占用太多空间:删除不必要的空行,它们不会使代码更具可读性 - 相反。

答案 1 :(得分:1)

将第一行更改为:Function nameTonumber(name As String)As Integer

以上结束功能添加:

nameTonumber = number'如果您使用的是VB6。

返回号码'如果您使用的是VB.NET