简体   繁体   English

Excel VBA中的“运行时错误'424':必需对象”

[英]“Run-time error '424': Object required” in Excel VBA

I want to create an enquiry sheet for users to check their own data. 我想创建一个查询表供用户检查自己的数据。 When user inputting some information which fits to the data list, the rest of their data will show up. 当用户输入适合数据列表的信息时,其余数据将显示。

I've type the code as below and I guess probably it's lacking something because the error code "Run-time error '424': Object required" keeps popping up. 我按如下所示键入了代码,我想可能缺少一些东西,因为错误代码“运行时错误'424':所需对象”不断弹出。 And I have no idea what's lacking. 而且我不知道缺少什么。 Here's the code: 这是代码:

Sub EnquiryChecking()
    Dim i As Integer

    If (Sheet1.Cells(3, 3) = DataList.Cells(i, 1)) And (Sheet1.Cells(4, 3) = DataList.Cells(i, 4)) And (Sheet1.Cells(5, 3) = DataList.Cells(i, 5)) Then
        Sheet1.Cells(7, 3) = DataList.Cells(i, 2)
        Sheet1.Cells(8, 3) = DataList.Cells(i, 3)
        Sheet1.Cells(9, 3) = DataList.Cells(i, 6)
        Sheet1.Cells(10, 3) = DataList.Cells(i, 7)
        Sheet1.Cells(11, 3) = DataList.Cells(i, 8)
        Sheet1.Cells(12, 3) = DataList.Cells(i, 9)
    Else
        Sheet1.Cells(14, 2) = "Error Input"
    End If
End Sub

Many thanks! 非常感谢!

A further update: 进一步更新:
I added a for loop for i and now the code can run. 我添加了一个for循环的i和现在的代码可以运行。 But now the Sheet1.Cell doesn't show the DataList.Cell data (even the input is not correct, it doesn't show "Error Input". What happened? Also, what should I add if I want to show the data instantly in the cell? 但是现在Sheet1.Cell不再显示DataList.Cell数据(即使输入不正确,它也不会显示“ Error Input”。发生了什么事?此外,如果我想立即显示数据应该添加什么?在牢房里?
Here's the code: 这是代码:

Sub EnquiryChecking()    
    Dim i As Integer
    For i = 1 To i
        If (ActiveWorkbook.Sheets("Sheet1").Cells(3, 3) = ActiveWorkbook.Sheets("DataList").Cells(i, 1)) And (ActiveWorkbook.Sheets("Sheet1").Cells(4, 3) = ActiveWorkbook.Sheets("DataList").Cells(i, 4)) And (ActiveWorkbook.Sheets("Sheet1").Cells(5, 3) = ActiveWorkbook.Sheets("DataList").Cells(i, 5)) Then
            Worksheets("Sheet1").Cells(7, 3) = Worksheets("DataList").Cells(i, 2)
            Worksheets("Sheet1").Cells(8, 3) = Worksheets("DataList").Cells(i, 3)
            Worksheets("Sheet1").Cells(9, 3) = Worksheets("DataList").Cells(i, 6)
            Worksheets("Sheet1").Cells(10, 3) = Worksheets("DataList").Cells(i, 7)
            Worksheets("Sheet1").Cells(11, 3) = Worksheets("DataList").Cells(i, 8)
            Worksheets("Sheet1").Cells(12, 3) = Worksheets("DataList").Cells(i, 9)
            Exit For
        Else
            Sheet1.Cells(14, 2) = "Error Input"
        End If
    Next i
End Sub

Replace DataList by ActiveWorkbook.Sheets("DataList") to avoid getting that error. ActiveWorkbook.Sheets("DataList")替换DataList以避免得到该错误。

Refer THIS for more information. 请参阅以获取更多信息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM