You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ComboBox.Value赋值触发运行时错误380:无效属性值求助

Excel VBA ComboBox赋值触发运行时错误380的解决办法

以下是针对该问题的几种可行解决思路:

  • 临时关闭MatchRequired属性
    如果Company控件的MatchRequired属性设为True,赋值时可能因窗体未完全初始化触发错误。可以先关闭该属性,赋值后再恢复:

    Private Sub UserDisambiguation(ByRef CustomerName As String, ByRef Division As String)
        With CustomerSelectionForm
            .Company.MatchRequired = False
            .Company.Value = CustomerName
            .Company.MatchRequired = True
            .Division.Value = Division
            .Show
            CustomerName = .Company.Value
            Division = .Division.Value
        End With
        
        Unload CustomerSelectionForm
    End Sub
    
  • 提前加载窗体确保列表就绪
    直接赋值时可能ComboBox的列表还没填充完成,先加载窗体(不显示)再赋值:

    Private Sub UserDisambiguation(ByRef CustomerName As String, ByRef Division As String)
        Load CustomerSelectionForm ' 提前加载窗体,初始化列表
        With CustomerSelectionForm
            .Company.Value = CustomerName
            .Division.Value = Division
            .Show
            CustomerName = .Company.Value
            Division = .Division.Value
        End With
        
        Unload CustomerSelectionForm
    End Sub
    
  • 用索引赋值替代字符串匹配
    可能存在字符串隐藏字符(如空格、换行)或大小写差异,导致表面匹配但实际不被识别。通过查找列表索引来赋值:

    Private Sub UserDisambiguation(ByRef CustomerName As String, ByRef Division As String)
        With CustomerSelectionForm
            Dim cleanName As String
            cleanName = Trim(CustomerName) ' 清理首尾空格
            Dim matchIndex As Integer
            matchIndex = .Company.FindStringExact(cleanName)
            If matchIndex <> -1 Then
                .Company.ListIndex = matchIndex ' 通过索引设置选中项
            End If
            .Division.Value = Division
            .Show
            CustomerName = .Company.Value
            Division = .Division.Value
        End With
        
        Unload CustomerSelectionForm
    End Sub
    
  • 修复可能损坏的控件或窗体
    如果以上方法都无效,大概率是用户窗体或ComboBox控件损坏。可以:

    • 导出原用户窗体的.frm和.frx文件,删除原窗体后重新导入。
    • 新建一个用户窗体,复制原控件和代码过去,替换使用。

内容的提问来源于stack exchange,提问作者Toddleson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:47:18