VBA代码使用variables没有定义它

我正在编写一个其他人编写的macros,因为他们没有定义variables,但仍在使用它。 1)这是可能的,2)excel / vba如何知道variables应该是什么? 使用的variables是“theCell”,在任何地方都没有定义。 代码如下,谢谢:

Sub DoTheWork() Sheets("All Data").Activate ActiveSheet.Range("A2").Select ActiveSheet.Range(Selection, Selection.End(xlDown)).Select Set homebook = ActiveWorkbook Set homeSheet = Sheets("All Data") topRow = 2 Application.ScreenUpdating = False 'Application.ScreenUpdating = True For Each theCell In Selection If (theCell.Value <> theCell.Offset(1, 0).Value) Then Range("A" & topRow & ":AS" & theCell.Row).Select Sheets("e-TAR").Select ActiveSheet.Copy Set copySheet = ActiveSheet Set copyBook = ActiveWorkbook 

谢谢!

它不知道它应该是什么,所以它创build一个即时types,它可以处理几乎任何分配给它的东西,包括对象和数组。

“最佳做法”是在声明区域的每个代码片的顶部放置一个Option Explicit语句。 这可以通过在VBE的工具►选项►编辑器属性页面中设置需求variables声明来创build每个代码表时自动执行。

这将避免像拼写错误这样的愚蠢的编码错误,也会影响你在variables声明中使用正确的variablestypes。