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

問題5と1行変えただけで出来ました。
Sub mondai6()
    
    Dim ws As Worksheet
    Dim WSM As Worksheet
    Dim stAry() As String
    Dim G As Long
    Dim EG As Long
    
    Set WSM = Worksheets("main")
    EG = WSM.Range("A65536").End(xlUp).Row
    
    For G = 2 To EG
        ReDim Preserve stAry(G - 2)
        stAry(G - 2) = WSM.Range("B" & G).Value
        Debug.Print stAry(G - 2)
    Next
    
    For G = LBound(stAry) To UBound(stAry)
        Sheets("main1").Copy After:=Sheets(Sheets.Count) '変えた行
        ActiveSheet.Name = stAry(G)
    Next
End Sub

2014/07/06 01:43