在VBA中使用变量时出现运行时错误

时间:2015-04-19 12:47:58

标签: vba excel-vba excel

这个简单的代码行引发了错误:

  

应用程序或对象定义错误。

Sub vartest()
movie_name = "TITANIC"
Worksheets("Sheet1").Activate

Range("b1").End(xlDown).Offset(1, 0).Select
Active.Value = movie_name
MsgBox movie_name & " is the Movie"

请帮忙。

2 个答案:

答案 0 :(得分:4)

'有效'不是可接受的对象......

你需要像 ActiveCell

这样的东西
ActiveCell.Value = movie_name

虽然你可能最好不要选择:

Sub vartest()
    movie_name = "TITANIC"
    Worksheets("Sheet1").Range("b1").End(xlDown).Offset(1, 0).Value = movie_name
    MsgBox movie_name & " is the Movie"
End Sub

答案 1 :(得分:2)

您需要更改selectactivate

Sub vartest()

 Dim movie_name As String: movie_name = "TITANIC"
 Worksheets("Sheet1").Activate

 Range("b1").End(xlDown).Offset(1, 0).Activate
 Selection.Value = movie_name
 MsgBox movie_name & " is the movie"

End Sub

但是请尝试避免激活并选择已经建议的。它会减慢您的代码速度,在大多数情况下都不需要。