VBA代码使用变量而不定义它

时间:2016-03-11 17:01:11

标签: excel vba excel-vba

我正在处理一个别人写的宏,我很困惑,因为他们没有定义变量但仍在使用它。 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

谢谢!

1 个答案:

答案 0 :(得分:5)

它不知道它应该是什么,因此它会动态创建一个变体类型,它可以处理分配给它的几乎任何东西,包括对象和数组。

“最佳做法”是在声明区域的每个代码表的顶部放置一个 Option Explicit 语句。通过在VBE工具►选项►编辑属性页面中设置需要变量声明,可以在创建每个代码表时自动执行此操作。

这样可以避免拼写错误,如拼写错误以及影响您在变量中使用正确的变量类型 声明。