如果单元格包含字符然后将文本拆分为列,则VBA优先

时间:2017-09-01 06:58:57

标签: vba excel-vba excel

我有一段相当简单的代码似乎无法正常工作。如果一个单词包含字符","我需要拆分单元格。但只有它确实如此。我认为使用IF,然后,Else会工作,但每次它到达没有","然后我最终得到了Range类的#34; TextToColumns方法失败"

If InStr(1, (Range("C32").Value), ",") > 0 Then

Range("C32").TextToColumns Destination:=Range("B14"), DataType:=xlDelimited, _
Other:=True, OtherChar:=","

Else

End If

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

您的代码没问题。我试过了,它确实有效。

Sub Split()
If InStr(1, (Range("C2").Value), ",") > 0 Then
Range("C2").TextToColumns Destination:=Range("B3"), DataType:=xlDelimited, _
Other:=True, OtherChar:=","
Else
MsgBox "kk"
End If
End Sub

没有"和#34;我得到了msgbox" kk" - 每次。我正在使用MS 2010,也许这就是问题所在?

答案 1 :(得分:-1)

您不需要程序。只需使用文本到数据功能区中的列,,作为数据分隔符。如果该行不包含逗号,则不会拆分该行。