Excel Vba中的编译器错误

运行下面的代码时出现编译器错误:

Sub AddNameInList() FilmName = InputBox("Type in a new film name") Worksheets("sheet2").Activate Range("b1").End(xlDown).Offset(1, 0).Select ActiveCell.Value = FilmName MsgBox FilmName & " was added to the list" End Sub 

错误信息

编译器错误:variables未定义

你需要声明FilmName:

 Sub AddNameInList() Dim FilmName As String FilmName = InputBox("Type in a new film name") Worksheets("sheet2").Range("B1").End(xlDown).Offset(1, 0).Value = FilmName MsgBox FilmName & " was added to the list" End Sub 

如果您将Option Explicit设置在模块的顶部或设置中,则需要声明所有variables。

还要避免使用.Select.Activate 。 一般来说,它们不是必需的,只会减慢代码的速度。