首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当select选项为空时,删除VBA单元条目中的逗号

当select选项为空时,删除VBA单元条目中的逗号
EN

Stack Overflow用户
提问于 2012-10-30 08:46:33
回答 1查看 131关注 0票数 0

我想在我的电子表格中插入来自三个不同下拉列表的数据,但是我遇到了一些困难。有三种跌落方式,分别是cbo_fac1cbo_fac2cbo_fac3。下面是用例:

用例1

代码语言:javascript
运行
复制
cbo_fac1 - User selects 'No Preference' 
cbo_fac2 - User selects 'No Preference' 
cbo_fac3 - User selects 'No Preference' 

在这种情况下,我只希望没有首选项插入到电子表格单元格中。到目前为止,这件事处理得很好。

用例2& 3

代码语言:javascript
运行
复制
cbo_fac1 - User does not select 'No Preference' 
cbo_fac2 - User does not select 'No Preference' 
cbo_fac3 - User selects 'No Preference' 

cbo_fac1 - User does not select 'No Preference' 
cbo_fac2 - User selects 'No Preference' 
cbo_fac3 - User selects 'No Preference' 

在这两种情况下,我都希望“没有首选项”被跳过,只想插入不是No Preference的值。

我尝试过这样做,但不幸的是,系统插入了逗号,我想省略这些逗号。因此,如果用户选择了PC,DVD,选项或,DVD,PC选项,则不需要像PC, DVDDVD, PC这样的条目,我希望对其进行整理,使其看起来像PC, DVDDVD, PC,以删除与空白条目相关的逗号。

我希望我的解释足够清楚,我在下面的代码中展示了我迄今所取得的成就。

代码语言:javascript
运行
复制
 If Me.cbo_fac1 <> "No preference" Then
    cbo_fac1Entry = Me.cbo_fac1.Value
    Else
    cbo_fac1Entry = ""
    End If
    If Me.cbo_fac2 <> "No preference" Then
    cbo_fac2Entry = Me.cbo_fac2.Value
    Else
    cbo_fac2Entry = ""
    End If
    If Me.cbo_fac3 <> "No preference" Then
    cbo_fac3Entry = Me.cbo_fac3.Value
    Else
    cbo_fac3Entry = ""
    End If

    cbo_facEntry = cbo_fac1Entry & "," & cbo_fac2Entry & "," & cbo_fac3Entry

    If cbo_facEntry = ",," Then
    cbo_facEntry = "No Preference"
    Else
    End If

    rng1.Offset(1, 13) = cbo_facEntry
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-30 09:44:27

之后

代码语言:javascript
运行
复制
If cbo_facEntry = ",," Then
cbo_facEntry = "No Preference"
Else
End If

我会插入

代码语言:javascript
运行
复制
cbo_facEntry = Trim(cbo_facEntry)

If Right(cbo_facEntry, 1) = "," Then
   cbo_facEntry = Left(cbo_facEntry, Len(cbo_facEntry) - 1)
End If

If Left(cbo_facEntry, 1) = "," Then
   cbo_facEntry = Right(cbo_facEntry, Len(cbo_facEntry) - 1)
End If

If InStr(1, cbo_facEntry, ",,") Then
   cbo_facEntry = Replace(cbo_facEntry, ",,", ", ")
End If

封面",DVD,PC,“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13135410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档