2009-07-31 1 views
0

참고 함수의 인수는 strToothpaste입니다. 함수가 호출되면 전달 된 변수는 동일한 이름을 사용합니다.VBA 사용자 기능 : 인수 이름과 제출 된 변수 이름이 일치하지 않습니까?

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 
  • 적 이름을 다시는-사용에 문제가 있습니까?
  • 변수가 올바르게 범위에 포함되지 않으면 범위에있는 이름이 이 위험 해지니까?
  • 위의 내용이 맞다면 은 좋은 범위 지정을 의미합니다. 은 으로 이름을 에코 할 수 있다는 의미입니까?
  • 재귀는 에 영향을 줍니까? (그렇다에서 두 번 검사 범위를 ...)
+0

나는 이것을 몇 년 동안 걱정했지만 너무 들여다 보지 않았습니다. (빌어 먹을, 나는 너무 게으르다. 나는 단지 글을 올리려하고있다.) 코드를 재사용 할 때 더 좋아지기 때문에, 종종 "꼬인"변수 이름은 귀찮다. 귀찮은 부분은 단지 가독성만으로 구성된 것 같습니다. 하지만 내가 얻을 수있는 모든 도움이 필요해! – Smandoli

답변

4
  1. 없음 전혀, VBA는 매개 변수가 매개 변수가 있음이 위험 할 수있는 기능
  2. 에 범위가 있는지 결정하기 위해 똑똑하지 , 당신이 Option Expiclit Off의 습관에 있다면, 그것은 당신의 정신을 위해 결코 좋지 않습니다.
  3. 올바른 이름 범위에서 예 이름이 아무런 문제없이 에코 될 수 있습니다.
  4. 전혀 아닙니다.

희망이 도움이됩니다.

+0

내가 미쳤다면 Option Explicit을 껐기 때문이 아닙니다. 그래도 고마워. – Smandoli

+0

필자는 좋은 범위 지정을 이해하거나 적용하지 않았을 때 "변형 된"var 이름이 필요할 수도 있다고 추론합니다. 물론 결국 나는 조여야 만했고 코드를 "정상화"하는 것이 매우 중요하지만 재미도 있다는 것을 알았습니다. – Smandoli

관련 문제