gpt4 book ai didi

excel - 为什么我会收到此编译错误 : Type Mismatch

转载 作者:行者123 更新时间:2023-12-04 20:49:33 30 4
gpt4 key购买 nike

大家好,我收到一个编译错误:类型不匹配。在下面的代码中。我希望你们能帮助我。谢谢!

Private Sub cmbBusId_AfterUpdate()

With Me

.txtStOdo = Application.WorksheetFunction.MaxIfs(Range("DataTable").ListObject.ListColumns("Ending Odometor"), (Range("DataTable").ListObject.ListColumns("Bus ID")), Me.cmbBusId)

End With

End Sub

最佳答案

ListColumns.DataBodyRange

  • MAXIFS function (微软)
  • 此代码必须写在工作表模块中,您可以在其中使用 Me 引用工作表关键词。工作表包含一个文本框和一个组合框。 DataTable (命名的)范围由至少一个包含在 ListObject 中的单元格组成。 (Excel 结构化表格)。
  • 发生错误是因为您没有仅使用 ' DataBodyRange列表列的一部分。
  • 两个示例都使用 ListObject变量 ( tbl ) 以使代码更具可读性。
  • 第一个示例使用行分隔符,而第二个示例使用变量来轻松区分 MaxIfs参数。

  • Option Explicit

    Private Sub cmbBusId_AfterUpdate1()

    With Me
    Dim tbl As ListObject: Set tbl = .Range("DataTable").ListObject
    .txtStodo = Application.WorksheetFunction.MaxIfs( _
    tbl.ListColumns("Ending Odometor").DataBodyRange, _
    tbl.ListColumns("Bus ID").DataBodyRange, _
    .cmbBusId)
    End With

    End Sub

    Private Sub cmbBusId_AfterUpdate2()

    With Me

    Dim tbl As ListObject: Set tbl = .Range("DataTable").ListObject
    Dim mrg As Range ' Max Range
    Set mrg = tbl.ListColumns("Ending Odometor").DataBodyRange
    Dim crg1 As Range ' Criteria Range 1
    Set crg1 = tbl.ListColumns("Bus ID").DataBodyRange
    Dim Criteria1 As Double ' Criteria 1
    Criteria1 = .cmbBusId

    .txtStodo = Application.WorksheetFunction.MaxIfs(mrg, crg1, Criteria1)

    End With

    End Sub

    关于excel - 为什么我会收到此编译错误 : Type Mismatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67452999/

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