2017-09-01 2 views
0

非常にシンプルなコードがあり、動作しないようです。単語に「、」という文字が含まれている場合は、分割するセルが必要ですが、その場合に限ります。私はその後、私は任意の助けをいただければ幸いですセルに文字が含まれていて、テキストが列に分割されている場合は、VBAが優れています

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

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

Else 

End If 

『TextToColumnsはRangeクラスのメソッドが失敗しました』で終わる「」IFを使用して、その後、そうで動作しますが、すべての時間が、それは全くと、細胞に到達しないだろうと思った

+0

セルに '、'がない場合、 'ELSE'条件が実行され、エラーが発生しません。あなたのサンプルデータを投稿すると役に立つかもしれません。 – Mrig

+0

ありがとうございました。問題がどこにあるのかは分かりませんが、時間の約80%で動作します。これはAPIコールの非常に長い文字列の最下部に付けられています。私は検索して問題を見つけることができるかどうかを確認し、見つかったものを投稿したり、コードを投稿してヘルプを求めたりします。おそらく、このコードを外して呼び出しを使用するとエラーが止まるでしょう。 –

+0

コード内でワークブックまたはワークシートを参照していません。 ActiveSheetが変更された場合は、そのような問題が発生する可能性があります。あなたのコードで作業する予定のワークシートを指定しようとしているかもしれません。 –

答えて

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 

"、"私はmsgbox "kk"を毎回得ます。私はMS 2010を使用しています、多分問題はどこですか?

-1

プログラムの必要はありません。データセパレータとして,のデータリボンのテキストを列に使用するだけです。行にコンマが含まれていない場合、行は分割されません。

関連する問題