VBA用户函数:参数名称和提交的变量名称不匹配?

时间:2009-07-31 17:40:06

标签: vba function

注意该函数的参数名为strToothpaste。调用该函数时,传入的变量使用相同的名称。

Private Sub DoThis()
  Dim strToothpaste as String
  Dim booSmellsFunny as Boolean
  booSmellsFunny = fnc_Fragrance(strToothpaste)
End Sub
--------------------------
Private Function fnc_Fragrance(strToothpaste As String) as Boolean
  If strToothpaste Like "Dr Watson's" Then
     fnc_Fragrance = True
  Else
     fnc_Fragrance = False
  End If
End Function
  • 重新使用该名称是否有问题?
  • 如果变量没有受到适当限制 在范围内,确实回应了名称 变得危险?
  • 如果以上情况属实, 那是否意味着良好的范围 表示名称可以回拨否 问题?
  • 递归是否会影响 什么? (除了 仔细检查范围......)

1 个答案:

答案 0 :(得分:4)

  1. 一点也不,VBA足够聪明,可以确定参数是一个作用于函数的参数
  2. 是的,如果你养成了Option Expiclit Off的习惯,​​这可能是危险的,这对你的理智永远不会有好处。
  3. 是的,名称可以回应,没有正确的范围界定。
  4. 完全没有。
  5. 希望这有帮助。