在 Excel 2016 上将 Null 值添加到列表框

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

在 Excel 2016 中,尝试将空记录集值添加到列表框时会发生以下错误:

    With LiBxCliFor
     
     .ColumnCount = 4
     .ColumnHeads = False
     .ColumnWidths = "40;250;120;40"
     
     LinhaLiBx = .ListCount
     
     While Not lrs.EOF
     
     .AddItem
     
     .List(LinhaLiBx, 0) = lrs.Fields("ID_CliFor")
     .List(LinhaLiBx, 1) = lrs.Fields("Nome")
     .List(LinhaLiBx, 2) = lrs.Fields("NumDocumento")
     .List(LinhaLiBx, 3) = lrs.Fields("LocalVenda")
     
     LinhaLiBx = LinhaLiBx + 1
     lrs.MoveNext
     Wend
    End With

该行发生错误,因为值为空:

我在 Office Professional Plus 2019 上开发了所有代码。列表框接受 Null 值,但我的客户在他的家用计算机上使用 Office Professional Plus 2016。 (他办公室的另一个版本没有出现任何错误。)

Office 2019 是否有更新以接受 Null?

excel vba null listbox
1个回答
2
投票

您应该尝试让您的代码在两个版本的 Excel 上都能运行。这是一种方法:-

Dim V As Variant

V = lrs.Fields("LocalVenda")
.List(LinhaLiBx, 3) = IIf(IsNull(V), "", V)

更短的方法可能是(“可能”,因为我没有测试)在分配之前加上

On Error Resume Next
,我希望在发生错误时将列表项留空。

© www.soinside.com 2019 - 2024. All rights reserved.