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

Can*_*biz 2 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
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 5

它不知道它应该是什么,所以它创建一个即时作为变种类型,可以处理分配给它的几乎任何东西,包括对象和数组.

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

这将避免像拼写错误这样的错误编码错误以及影响您在变量声明中使用正确的变量类型.