Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 我得到错误-需要对象_Vba_Excel - Fatal编程技术网

Vba 我得到错误-需要对象

Vba 我得到错误-需要对象,vba,excel,Vba,Excel,我正在尝试编写一个宏代码,该代码基于单元格输入移动到两个工作表之一(服务或事件)。我收到“需要对象”错误信息 如有任何帮助,我们将不胜感激 Sub GoSheetNext() Dim abcd As Integer abcd = ActiveWorksheet.Cells(4, 2).Value If abcd > 10 Then Sheets("service").Select ElseIf

我正在尝试编写一个宏代码,该代码基于单元格输入移动到两个工作表之一(服务或事件)。我收到“需要对象”错误信息

如有任何帮助,我们将不胜感激

Sub GoSheetNext()

        Dim abcd As Integer
        abcd = ActiveWorksheet.Cells(4, 2).Value
        If abcd > 10 Then
            Sheets("service").Select
            ElseIf abcd < 10 Then
           Sheets("event").Select

        End If

End Sub
子GoSheetNext()
Dim abcd作为整数
abcd=ActiveWorksheet.Cells(4,2).Value
如果abcd>10,则
工作表(“服务”)。选择
如果abcd小于10,则
工作表(“事件”)。选择
如果结束
端接头

很简单,
ActiveSheet
不存在,它是
ActiveSheet

正如@John Coleman所提到的,您应该在模块顶部添加
Option Explicit
,这只会迫使您在启动代码之前声明所有变量。因此,它会在这里检测到您的问题,因为它不会识别
活动工作表
!;)

子GoSheetNext()
Dim Test_值为整数
Test_Value=ActiveSheet.Cells(4,2).Value
如果测试值>10,则
工作表(“服务”)。选择
ElseIf测试值<10然后
工作表(“事件”)。选择
如果结束
端接头

错误发生在哪一行?如果abcd=10会发生什么情况?错误在哪里?你试过了吗。激活?abcd永远不会是10。在第一行之后,它会说“需要对象”。我试过了。激活,它会显示相同的错误很好的答案。如果提到
选项Explicit
在突出显示
活动工作表
时会出现
变量未定义
错误,这可能会更容易调试
Sub GoSheetNext()
Dim Test_Value As Integer
Test_Value = ActiveSheet.Cells(4, 2).Value

If Test_Value > 10 Then
    Sheets("service").Select
ElseIf Test_Value < 10 Then
    Sheets("event").Select
End If

End Sub