Sub hukusyuu()
Dim mae
Dim ato
Dim n
Dim moji
Dim migi
migi = 11
Dim gyo
For gyo = 2 To 7
moji = Range("D" & gyo).Value
mae = 0
ato = 0
For n = 1 To Len(moji)
If Mid(moji, n, 1) = "、" Then
mae = ato
ato = n
Range("A" & migi) = migi - 10
Range("B" & migi) = Range("A" & gyo).Value
Range("C" & migi) = Range("B" & gyo).Value
Range("D" & migi) = Range("C" & gyo).Value
Range("F" & migi) = Range("E" & gyo).Value
Range("E" & migi).Value = Mid(moji, mae + 1, ato - mae - 1)
migi = migi + 1
End If
Next
mae = ato
ato = n '←その根拠がここと思っていたら→また新発見!for next構文を抜けた後nに格納された変数が+1された。
Range("A" & migi) = migi - 10
Range("B" & migi) = Range("A" & gyo).Value
Range("C" & migi) = Range("B" & gyo).Value
Range("D" & migi) = Range("C" & gyo).Value
Range("F" & migi) = Range("E" & gyo).Value
Range("E" & migi).Value = Mid(moji, mae + 1, ato - mae - 1)
migi = migi + 1
Next
End Sub
関口昭博さんの投稿
(投稿ID: 2401)
お世話になります。
動画を見たあと私が作ったプログラムですが
一点、模範解答と違うところがあります。
コメントしてるか所ですが、模範解答はato = Len(moji) + 1
となっていますが、私のはa=nです。
これでも動いたので、問題ないのか。それともこれではあとあと
うまくないのか、コメントいただけると幸いです。
ちなにみこのプログラムは同じシート(sheet1)に転記するようにしています。
ゲストさんのコメント
(コメントID: 3838)
>これでも動いたので、問題ないのか。それともこれではあとあと
>うまくないのか、コメントいただけると幸いです。
原則として、きちんと動いているようでしたら、それでよいと思ってよいです。
もしもあとあと行き詰まったら、それから遡って見本と比較し、見本のやり方なら回避その行き詰まりを回避できるということでしたら、それからアルゴリズムを詳細に比較します。
関口昭博さんのコメント
(コメントID: 3841)
ありがとうございました。
>関口昭博 さん:
>
>>これでも動いたので、問題ないのか。それともこれではあとあと
>>うまくないのか、コメントいただけると幸いです。
>
>原則として、きちんと動いているようでしたら、それでよいと思ってよいです。
>もしもあとあと行き詰まったら、それから遡って見本と比較し、見本のやり方なら回避その行き詰まりを回避できるということでしたら、それからアルゴリズムを詳細に比較します。
>