Microsoft Forms VBA 范围列表未在范围内找到项目

问题描述 投票:0回答:0

不是我的代码,我正在尝试扩展列表以便能够查找所有项目。 我正在尝试将更多项目添加到范围以查找下面是范围代码。

cmbWSN1.List = Sheets("TrlrReport").Range("B4:B7760").Value

列表中的项目是以下类型值的各种组合

M/T
BJ21A
20MM TP
7B41A
1410T06602823
1420013968865

问题是当我开始在下拉列表中输入一个我知道在列表中的项目时,我收到来自

Microsoft Forms - Invalid Property Value

的错误

表格代码如下。

Private Sub UserForm_Activate()
    
Dim selDate As Date
Dim shAdminInfo As String

  
    'Center the form in the screen
    Me.Top = Application.Top + Application.Height / 2 - Me.Height / 2
    Me.Left = Application.Left + Application.Width / 2 - Me.Width / 2
    
    'Setup Columns to match those in the worksheet
    clDate = "B"
    clShift = "C"
    clOpType = "D"
    clChief = "E"
    clCrew = "F"
    clTrlrType = "G"
    clTrlrNum = "H"
    clTrlrType2 = "I"
    clTrlrNum2 = "J"
    clWSN1 = "K"
    clQty1 = "L"
    clWSN2 = "M"
    clQty2 = "N"
    clWSN3 = "O"
    clQty3 = "P"
    clWSN4 = "Q"
    clQty4 = "R"
    clFrom = "S"
    clTo = "T"
    clRemarks = "U"
    clCMA = "V"
    
    'Set the options for Drop Down boxes
    Worksheets("Admin Info").Unprotect "EDIT"
    InitListFromTbl Range("tblShifts"), cmbShift
    InitListFromTbl Range("tblTrailerTypes"), cmbTrailerType
    cmbTrailerType.Value = "N/A"
    cmbTrailerType2.List = cmbTrailerType.List
    cmbTrailerType2.Value = "N/A"

    '---------------------------------------------------------------'
    '               FIX THIS TO BE NOT STUPID!!!                    '
    '                                                               '
    cmbWSN1.List = Sheets("TrlrReport").Range("B4:B7760").Value
    '                                                               '
    '                   ^^^  DUMB  ^^^                              '
    '---------------------------------------------------------------'

    cmbWSN2.List = cmbWSN1.List
    cmbWSN3.List = cmbWSN1.List
    cmbWSN4.List = cmbWSN1.List
    'cmbWSN5.List = cmbWSN1.List
    'cmbWSN6.List = cmbWSN1.List
    'cmbWSN7.List = cmbWSN1.List
    'cmbWSN8.List = cmbWSN1.List
    'cmbWSN9.List = cmbWSN1.List
    'cmbWSN10.List = cmbWSN1.List

    InitListFromTbl Range("tblLocations"), cmbFromLoc
    cmbToLoc.List = cmbFromLoc.List
    InitListFromTbl Range("tblOpTypes"), cmbOpType

    InitListFromTbl Range("tblPersonnel"), cmbChief
    lstCrew.List = cmbChief.List
    
    If Me.Tag = "Edit" Then
    
        btnSaveExit.Visible = False
        btnAdd.Caption = "Edit Entry and Save"
        
        targetRow = frmOptions.UserCell.Row
        
        'Set date fields to entered date
        selDate = Range(clDate & targetRow).Value
        
        txtMonth = month(selDate)
        txtDay = day(selDate)
        txtYear = year(selDate)
        
        selMinutes = (Hour(selDate) * 100) + Minute(selDate)
        txtTime.Value = selMinutes
    
        cmbShift = Range(clShift & targetRow)
        If Range(clTrlrType & targetRow).Value <> "N/A" Then cbxTrailerOp = True
        cmbTrailerType = Range(clTrlrType & targetRow)
        txtTrailerNum = Range(clTrlrNum & targetRow)
        
        If Range(clTrlrType2 & targetRow).Value <> "N/A" Then
            cbxTrailerOp = True
            cbxSecondTrlr = True
        End If
        cmbTrailerType2 = Range(clTrlrType2 & targetRow)
        txtTrailerNum2 = Range(clTrlrNum2 & targetRow)
        
        If Not Range(clWSN1 & targetRow) = "" Then _
            cmbWSN1 = Range(clWSN1 & targetRow)
        If Not Range(clQty1 & targetRow) = "" Then _
            txtQty1 = Range(clQty1 & targetRow)
        If Not Range(clWSN2 & targetRow) = "" Then _
            cmbWSN2 = Range(clWSN2 & targetRow)
        If Not Range(clQty2 & targetRow) = "" Then _
            txtQty2 = Range(clQty2 & targetRow)
        If Not Range(clWSN3 & targetRow) = "" Then _
            cmbWSN3 = Range(clWSN3 & targetRow)
        If Not Range(clQty3 & targetRow) = "" Then _
            txtQty3 = Range(clQty3 & targetRow)
        If Not Range(clWSN4 & targetRow) = "" Then _
            cmbWSN4 = Range(clWSN4 & targetRow)
        If Not Range(clQty4 & targetRow) = "" Then _
            txtQty4 = Range(clQty4 & targetRow)
'        If Not Range(clWSN5 & targetRow) = "" Then _
'            cmbWSN5 = Range(clWSN5 & targetRow)
'        If Not Range(clQty5 & targetRow) = "" Then _
'            txtQty5 = Range(clQty5 & targetRow)
'        If Not Range(clWSN6 & targetRow) = "" Then _
'            cmbWSN6 = Range(clWSN6 & targetRow)
'        If Not Range(clQty6 & targetRow) = "" Then _
'            txtQty6 = Range(clQty6 & targetRow)
'        If Not Range(clWSN7 & targetRow) = "" Then _
'            cmbWSN7 = Range(clWSN7 & targetRow)
'        If Not Range(clQty7 & targetRow) = "" Then _
'            txtQty7 = Range(clQty7 & targetRow)
'        If Not Range(clWSN8 & targetRow) = "" Then _
'            cmbWSN8 = Range(clWSN8 & targetRow)
'        If Not Range(clQty8 & targetRow) = "" Then _
'            txtQty8 = Range(clQty8 & targetRow)
'        If Not Range(clWSN9 & targetRow) = "" Then _
'            cmbWSN9 = Range(clWSN9 & targetRow)
'        If Not Range(clQty9 & targetRow) = "" Then _
'            txtQty9 = Range(clQty9 & targetRow)
'        If Not Range(clWSN10 & targetRow) = "" Then _
'            cmbWSN10 = Range(clWSN10 & targetRow)
'        If Not Range(clQty10 & targetRow) = "" Then _
'            txtQty10 = Range(clQty10 & targetRow)
            
        cmbChief = Range(clChief & targetRow)
        
        SetCrewMembers Range(clCrew & targetRow)
        
        cmbFromLoc = Range(clFrom & targetRow)
        cmbToLoc = Range(clTo & targetRow)
        cbxCMA = Range(clCMA & targetRow)
        cmbOpType = Range(clOpType & targetRow)
        txtRemarks = Range(clRemarks & targetRow)
        
    Else
        
        'Set date fields to current date
        txtMonth.Value = month(Date)
        txtDay.Value = day(Date)
        txtYear.Value = year(Date)
        
    End If
    
'    Worksheets("Admin Info").Protect Password:="EDIT", AllowFiltering:=True


End Sub
excel vba range lookup
© www.soinside.com 2019 - 2024. All rights reserved.