の目標は、文字のをコンマの間に戻し、それぞれを別のコードで使用することです。誰かがこれを行うより最適な方法を知っているなら、私に知らせてください。VBA:なぜ私のFORループで何も返されないのですか?
問題:
私は、文字列内のコンマの位置を見つけようとしています。
文字列:
Dim st As String
st = "1642377,001642381,010301642379"
私の試み:
For pos = 1 To Len(st)
If Mid(st, pos, 1) = "," Then
MsgBox ("Position of comma:" & pos)
End If
Next
現在返す:
コードは何も返しません。 If
条件がtrueを返さない。
期待される結果:は
MsgBox
は、コンマの位置毎時間を示す、二回ポップアップする必要があります。
誰かがあなたにこれをやるより良い方法を教えましたが、あなたのループがまったく動いていないと思います。 'pos = 1〜len(st)'を示しますが、 'st'は何ですか?どのように宣言されているか、どのくらいの期間表示されているかはわかりません。コードをステップ実行すれば、何が起きているのかを知ることができます。 – OpiesDad
@OpiesDad woops、申し訳ありません。 'st'は単に文字列です。 – DarthVoid
ループが動作しない理由を知りたい場合は、宣言と割り当てを含む完全なサブを投稿してください。 [mcve]を参照してください。まだ使用していない場合は、['Option Explicit'](https://msdn.microsoft.com/en-us/library/bw9t3484%28v=vs.84%29.aspx)を使用してください。 - おそらく、あなたはそれをしながら自分自身で問題を見つけるでしょう。 – Andre