投稿/コメントを表示します。

小川先生

8100の受講生です。
早速お返事いただきありがとうございます。
>For Next構文のカウンターに使う変数は、構文内で変更しないというのが原則です。
そうなのですね!For Nextはあくまでも順番に1つずつということなのでしょうか。
その点を意識し考えてみたところ、最初の構文ではうまくいかず、小川先生の模範通りMidを使って1文字ずつ調べることに落ち着きました。
自分で手直しした構文を回答と見比べたところ、笑ってしまうほど同じで
(当たり前かもしれませんが・・・)とてもうれしくなりました。

For Nextを抜けた後の記入指示で、私は抜き出す文字数を指定せずに開始場所のみ
指定してそのあと全部と指示していますが、それでも大丈夫でしょうか?
手直しした構文もぜひ見てください!(回答とほぼ同じですが)
よろしくお願いいたします。
Dim saki
Dim gyo
Dim moji
Dim n

saki = 2

For gyo = 2 To 7
mae = 0
ato = 0
moji = Range("D" & gyo).Value
For n = 1 To Len(moji)
If Mid(moji, n, 1) = "、" Then
mae = ato
ato = n
Range("G" & saki).Value = Range("B" & gyo).Value
Range("L" & saki).Value = Mid(moji, mae + 1, ato - mae - 1)
saki = saki + 1
End If
Next
mae = ato
Range("G" & saki).Value = Range("B" & gyo).Value
Range("L" & saki).Value = Mid(moji, mae + 1)
saki = saki + 1
Next
End Sub

2017/05/12 05:21