gpt4 book ai didi

excel - 为什么在尝试设置范围时会收到 424 Object Required 错误?

转载 作者:行者123 更新时间:2023-12-04 21:50:51 24 4
gpt4 key购买 nike

我是 VBA 新手,因此对任何特别业余的错误表示歉意。

我正在尝试对来自表单的某些用户输入运行匹配函数(该变量在下面命名为客户端),并使用匹配函数中的行来存储与该行相关的用户输入。

我得到一个

424 Object Required



当我尝试运行代码时出错。我在下面的代码中插入了一条我认为错误所在的注释。
Private Sub OK_Test_Click()    
Dim rng As Range
Dim client As String

client = LastNameSearch.Text

Set rng = OutputSheet.Range("B2:B8") 'debugger brings me here,
tells me rng = Nothing

rowLocation = Application.WorksheetFunction.Match(client, rng, 0)

Cells(C, rowLocation) = CaseStatusBox.Text
Cells(D, rowLocation) = StaffEntryBox.Text
Cells(G, rowLocation) = Date
End Sub

最佳答案

不用道歉,这种事经常发生! :)
Option Explicit未指定,并且 OutputSheet没有定义。

这使得 OutputSheet一个未声明的 Variant/Empty变量,您不能合法地进行成员调用,因为它不是对象 - 因此“需要对象”。

Option Explicit在模块顶部指定,代码将无法编译:VBE 将警告您 OutputSheet未申报。

为了 OutputSheet要存在,您需要在 Project Explorer (Ctrl+R) 中找到该工作表,然后更改其 (Name)属性 (F4) 至 OutputSheet .

properties toolwindow

或者,您可以声明 OutputSheet As Worksheet变量和 Set它是有效的Worksheet对象引用 - 例如:

Dim OutputSheet As Worksheet
Set OutputSheet = ActiveWorkbook.Worksheets("OutputSheet")

假设工作表存在于 ActiveWorkbook “标签名称”为 OutputSheet ;请注意,用户可以轻松更改此设置; (Name)属性对用户来说更难更改,但它要求工作表存在于 ThisWorkbook 中在编译时。

注意不合格的 Cells过程底部附近的调用,隐含地引用当前恰好是 ActiveSheet 的任何工作表。 - 考虑使用适当的 Worksheet 对它们进行限定对象引用。如果你想写信给 OutputSheet ,这意味着:
OutputSheet.Cells(C, rowLocation) = CaseStatusBox.Text
OutputSheet.Cells(D, rowLocation) = StaffEntryBox.Text
OutputSheet.Cells(G, rowLocation) = Date

关于excel - 为什么在尝试设置范围时会收到 424 Object Required 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54355125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com