我想从三个不同的下拉列表中插入数据到我的电子表格中,但我遇到了一些困难。有三个下拉菜单叫做cbo_fac1,cbo_fac2和cbo_fac3。从Excel中删除字符串中的额外逗号VBA
这里是用例:
用例1 - 结果No preference
被插入到电子表格
cbo_fac1 - No preference
cbo_fac2 - No preference
cbo_fac3 - No preference
使用壳体2a - 在value, ,
结果被插入到电子表格。应该只是value
cbo_fac1 - Value
cbo_fac2 - No preference
cbo_fac3 - No preference
使用情况2B - 在, value,
结果插入到电子表格中。应该只是value
cbo_fac1 - No preference
cbo_fac2 - Value
cbo_fac3 - No preference
使用箱体2C - 在, , value
结果插入到电子表格中。应该只是value
cbo_fac1 - No preference
cbo_fac2 - No preference
cbo_fac3 - Value
使用情况3A - 在value, value,
结果插入到电子表格中。应该只是value, value
cbo_fac1 - Value
cbo_fac2 - Value
cbo_fac3 - No preference
使用案例3B - 在, value, value
结果插入到电子表格中。应该只是value, value
cbo_fac1 - No preference
cbo_fac2 - Value
cbo_fac3 - Value
使用案例3C - 在value, , value
结果插入到电子表格中。应该只是value, value
cbo_fac1 - Value
cbo_fac2 - No preference
cbo_fac3 - Value
如何删除多余的逗号用例2A-3C?
这是到目前为止我的代码:
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, 15) = cbo_facEntry
我试着将这段代码:
if right(cbo_facEntry,1)="," then
cbo_facEntry= left(len(cbo_facEntry)-1)
end if
if left(cbo_facEntry,1)="," then
cbo_facEntry= right(len(cbo_facEntry)-1)
end if
后:
If cbo_facEntry = ",," Then
cbo_facEntry = "No Preference"
Else
End If
但事实并非如此因为它不符合要求,所以会产生很大的差异所有用例的ts,并返回无效的语法错误消息。
在此先感谢!
我是否将它放在'If cbo_facEntry =“后面,”“然后'代码段? – methuselah
@methuselah是的。 – Excellll