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

小川先生

お世話になっております。4月頭に講座の申込みをしてから楽しく勉強させてもらっています。
この問題は、動画を見ない段階でInstr関数を使って以下のように解けました。自分の解法もなかなかシンプルで悪くないのではと思いました。

別件で質問なのですが、Range("A1")などセルを指定する際、セル列のアルファベットは大文字にするのが主流なのでしょうか?
個人的には、マクロはほとんどアルファベット小文字でかけるので、セル指定の時だけ、Shiftキーを押す一手が若干めんどくさく感じます。
可読性も個人的には小文字で書いてもあまり変わらないのですが、世の中一般的に普通は大文字で書くということであれば、そのようにしたいと思います。
Sub test5()
    Dim Sozai As String
    Dim mae As Long
    Dim ato As Long
    Dim kazu As Long
    Dim Yaku As String
    Dim migi As Long
    Dim hida As Long
    Dim Zenyaku As String
    
    migi = 2
    
    For hida = 2 To 7
        Zenyaku = Range("D" & hida).Value
        Sozai = "、" & Zenyaku & "、"
        For kazu = 1 To Len(Zenyaku) + 2
            mae = InStr(Sozai, "、")
            ato = InStr(mae + 1, Sozai, "、")
            If ato = 0 Then
                Exit For
            End If
            Yaku = Mid(Sozai, mae + 1, ato - mae - 1)
            Range("L" & migi).Value = Yaku
            Sozai = Mid(Sozai, ato)
            migi = migi + 1
        Next
    Next
End Sub

2018/04/23 23:37