我正在处理一个别人写的宏,我很困惑,因为他们没有定义变量但仍在使用它。 1)这是可能的吗?2)excel / vba如何知道变量应该是什么?使用的变量是“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
谢谢!
答案 0 :(得分:5)
它不知道它应该是什么,因此它会动态创建一个变体类型,它可以处理分配给它的几乎任何东西,包括对象和数组。
“最佳做法”是在声明区域的每个代码表的顶部放置一个 Option Explicit 语句。通过在VBE工具►选项►编辑属性页面中设置需要变量声明,可以在创建每个代码表时自动执行此操作。
这样可以避免拼写错误,如拼写错误以及影响您在变量中使用正确的变量类型 声明。