列表框为空时类型不匹配
Type mismatch when list box is empty
我有一些代码可以完美地提交表单中包含数据的三个列表框的内容,但是当列表框为空时,我会收到类型不匹配错误。
For i = LBound(Me.PartNoList.List) To UBound(Me.PartNoList.List)
parts = parts & IIf(parts = "", "", vbNewLine) & Me.PartNoList.List(i, 0)
Next
With Sheets("Sales Order Log").Range("Sales_Data_Start")
.Offset(TargetRow, 1).Value = SalesOrderNo
' (...)
.Offset(TargetRow, 5).Value = parts
End With
For i = LBound(Me.PartDescList.List) To UBound(Me.PartDescList.List)
descparts = descparts & IIf(descparts = "", "", vbNewLine) & Me.PartDescList.List(i, 0)
Next
With Sheets("Sales Order Log").Range("Sales_Data_Start")
.Offset(TargetRow, 1).Value = SalesOrderNo
' (...)
.Offset(TargetRow, 6).Value = descparts
End With
For i = LBound(Me.PartQntList.List) To UBound(Me.PartQntList.List)
qntparts = qntparts & IIf(qntparts = "", "", vbNewLine) & Me.PartQntList.List(i, 0)
Next
With Sheets("Sales Order Log").Range("Sales_Data_Start")
.Offset(TargetRow, 1).Value = SalesOrderNo
' (...)
.Offset(TargetRow, 7).Value = qntparts
End With
如果能帮助诊断发生这种情况的原因,我们将不胜感激。
您需要在引用内容之前检查每个列表框是否为空,例如
If Me.PartNoList.ListIndex <> -1 Then
在错误消息中按 End 会停止 运行ning 中的其余代码,因此发布该数据时发生了其他事情,或者它是前一个 运行[= 遗留下来的11=]
我有一些代码可以完美地提交表单中包含数据的三个列表框的内容,但是当列表框为空时,我会收到类型不匹配错误。
For i = LBound(Me.PartNoList.List) To UBound(Me.PartNoList.List)
parts = parts & IIf(parts = "", "", vbNewLine) & Me.PartNoList.List(i, 0)
Next
With Sheets("Sales Order Log").Range("Sales_Data_Start")
.Offset(TargetRow, 1).Value = SalesOrderNo
' (...)
.Offset(TargetRow, 5).Value = parts
End With
For i = LBound(Me.PartDescList.List) To UBound(Me.PartDescList.List)
descparts = descparts & IIf(descparts = "", "", vbNewLine) & Me.PartDescList.List(i, 0)
Next
With Sheets("Sales Order Log").Range("Sales_Data_Start")
.Offset(TargetRow, 1).Value = SalesOrderNo
' (...)
.Offset(TargetRow, 6).Value = descparts
End With
For i = LBound(Me.PartQntList.List) To UBound(Me.PartQntList.List)
qntparts = qntparts & IIf(qntparts = "", "", vbNewLine) & Me.PartQntList.List(i, 0)
Next
With Sheets("Sales Order Log").Range("Sales_Data_Start")
.Offset(TargetRow, 1).Value = SalesOrderNo
' (...)
.Offset(TargetRow, 7).Value = qntparts
End With
如果能帮助诊断发生这种情况的原因,我们将不胜感激。
您需要在引用内容之前检查每个列表框是否为空,例如
If Me.PartNoList.ListIndex <> -1 Then
在错误消息中按 End 会停止 运行ning 中的其余代码,因此发布该数据时发生了其他事情,或者它是前一个 运行[= 遗留下来的11=]