2016-07-07 6 views
0

Dies ist Code direkt aus Excel 2013 Power Programming, und aus irgendeinem Grund kann ich es nicht zum Laufen bringen.VBA Problem, mit einer vereinfachten Twist

Dieses Skript befindet sich direkt aus der Box, aber es funktioniert nicht:

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 

Ich erhalte einen Fehler Compile: Sub or Function not defined an der Startlinie des Unter

Das ist mein Erste Erfahrungen mit VBA, sei also sanft wenn ich etwas sehr dummes mache.

+1

'Msg = "Ist Ihr Name" & Application.UserName & "?"' (Anmerkung Gleichheitszeichen hinzugefügt). Dann 'Msg' nicht' Meg'. – Jeeped

+1

Sie sollten sich auch angewöhnen, Ihre Variablen zu deklarieren. Durch Setzen von ** Deklaration der Variablendeklaration ** auf der VBE-Extras ► Optionen ► Editor-Eigenschaftenseite wird die ** [Option Explizit] (https://msdn.microsoft.com/en-us/library/y9341s4f.aspx) * * Anweisung oben auf jedem neu erstellten Codeblatt. Diese wird alberne Codierungsfehler wie Rechtschreibfehler vermeiden sowie Sie beeinflussen, den richtigen Var-Typ in der Variablen Deklaration zu verwenden. Variablen, die ohne Deklaration direkt erstellt werden, sind alle vom Typ Variante/Objekt. Die Verwendung von ** Option Explicit ** wird als 'Best Practice' angesehen. – Jeeped

+0

Gute Vorschläge, Jeeped. – Edmund

Antwort

1

paar Tippfehler und fehlende =

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 

Getestet und funktioniert in Excel 2010

+0

Danke, kann nicht glauben, dass ich diesen Mist vermisst habe. – Edmund