나는 함수를 정의한 클래스 모듈을 만들었습니다. 해당 함수가 호출 될 때마다 지역 창에 두 번 나열됩니다. 두 번째 값만 변경되고 코드의 실행이 끝날 때까지 첫 번째 코드는 유형에 따라 비어 있거나 "0"으로 유지됩니다. 표준 모듈에 정의 된 함수에이 문제가 없습니다. 내가 잘못한 것을 했는가, 이것이 버그인가, 아니면 뒤에 논리적 인 이유가 있는가? 의 TestClass 클래스 모듈"localals"창에 내 함수 이름이 두 번 나타나는 이유는 무엇입니까?
내용량 : 표준 모듈
Public Value As Double
Function AddFive() As Double
AddFive = Me.Value + 5
End Function
내용량 : 여기
Sub TestSub()
Dim TestObject As New TestClass
TestObject.Value = 2
MsgBox TestObject.AddFive
End Sub
는 스크린이 표시되는 코드가 실행될 때, 그 라인별로 함수의 코드가 실행 된 후에는 두 번째 값만 변경되었습니다. 내가 미리 감사
엑셀 2010에 대한 VBA를 사용하고
.
Pls는 당신의 코드를 게시
MODULE. – brettdj
VBA 함수에는 함수와 같은 이름의 암시 적 변수가 있습니다. 귀하가 발췌 문장에 지정한 것. 변경되는 것은 내재적 변수이며 실제 함수 리턴 값이 아니며 함수에서 벗어난 후에 만 평가됩니다. –
함수가 표준 모듈에 정의 된 경우 함수의 반환 값이 지역 창에 표시되지 않습니다. 그런 다음 내재적 변수 만 나타납니다. 그 이유는 무엇입니까? – Cutter