2016-07-07 2 views
0

이것은 Excel 2013 Power Programming에서 바로 나온 코드이며, 어떤 이유로 작동하지 않습니다.VBA 문제, 단순한 비틀어 짐

이 스크립트는 구입 즉시, 그러나 그것은 작동하지 않습니다

Sub SayHello() 
    Msg "Is your name " & Application.UserName & "?" 
    Ans = MsgBox(Meg, vbYesNo) 
    If Ans = vsNO Then 
    MsgBox "Oh, nevermind then. Bother" 
    Else 
    MsgBox "I must be clairvoyant!" 
    End If 
End Sub 

을 내가 컴파일 오류 얻을 : 보조

의 출발 선에 Sub or Function not defined 을 이것은 내 VBA에 대한 첫 경험, 내가 아주 바보 같은 짓을했다면 친절 해.

+1

엑셀 2010에서 작업 '메시지는 = Application.UserName 및 "?"'(주이 기호가 추가 동일) "당신의 이름입니다." 그렇다면'Msg'는'Meg'가 아닙니다. – Jeeped

+1

변수를 선언하는 습관을 갖춰야합니다. VBE 도구에서 ** 변수 선언 필요 **를 설정하려면 ► 옵션 ► 편집기 속성 페이지에서 ** [Option Explicit] (https://msdn.microsoft.com/en-us/library/y9341s4f.aspx)을 입력합니다. * 새로 작성된 코드 시트의 맨 위에있는 명령문. 이 은 맞춤법 오류와 같은 실수를 코딩하지 않으며 변수 선언에 올바른 var 유형을 사용하는 데 영향을줍니다. 선언없이 즉석에서 작성된 변수는 모두 변형/객체 유형입니다. ** Option Explicit **를 사용하면 이 '모범 사례'로 간주됩니다. – Jeeped

+0

좋은 제안, 지프. – Edmund

답변

1

커플 오타 누락이 =

Sub SayHello() 
    Msg = "Is your name " & Application.UserName & "?" 
    Ans = MsgBox(Msg, vbYesNo) 
    If Ans = vbNo Then 
     MsgBox "Oh, nevermind then." 
    Else 
     MsgBox "I must be clairvoyant!" 
    End If 
End Sub 

테스트 및

+0

고마워, 내가 그 쓰레기를 놓친 걸 믿을 수 없어. – Edmund