2016-07-07 6 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

'Msg = "Является ли ваше имя" и Application.UserName & "?"' (Примечание равно добавляется знак). Тогда 'Msg' не' Meg'. – Jeeped

+1

Вы также должны войти в привычку объявлять свои переменные. Настройка ** Требовать декларацию переменных ** в Инструментах VBE ► Параметры ► Страница свойств редактора помещает ** [Опция Явно] (https://msdn.microsoft.com/en-us/library/y9341s4f.aspx) * * в верхней части каждого вновь созданного кода. Этот избежит глупых ошибок кодирования, таких как орфографические ошибки, а также влияет на использование правильного типа var в переменной . Переменные, созданные на лету без объявления, представляют собой тип варианта/объекта. Использование ** Option Explicit ** - считается «лучшей практикой». – Jeeped

+0

Хорошие предложения, Jeeped. – 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 

испытано и работы в Excel 2010

+0

Спасибо, не могу поверить, что я пропустил это дерьмо. – Edmund

Смежные вопросы