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

小川様

お世話になります。

動画を見たあと私が作ったプログラムですが
一点、模範解答と違うところがあります。
コメントしてるか所ですが、模範解答はato = Len(moji) + 1
となっていますが、私のはa=nです。

これでも動いたので、問題ないのか。それともこれではあとあと
うまくないのか、コメントいただけると幸いです。

ちなにみこのプログラムは同じシート(sheet1)に転記するようにしています。
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

2016/06/08 14:31