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

予習ではこのように書きました。
自動記録コードの編集に課題がありそうですが、解説を楽しみに拝見いたします。
Sub yoshu8()
    Dim sh As Worksheet
    Set sh = Worksheets("main")
    Dim gyo As Long
    Dim gyomx As Long
    gyomx = sh.Range("B65536").End(xlUp).Row
    For gyo = 2 To gyomx
        sh.Range("A" & gyo).Value = gyo - 1
    Next
    Selection.AutoFilter
    sh.AutoFilter.Sort.SortFields.Clear
    sh.AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "B1:B317"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With sh.AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    sh.AutoFilter.Sort.SortFields.Clear
    sh.AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "A1:A317"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
        sh.AutoFilter.Sort.SortFields.Clear
    sh.AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "A1:A317"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With sh.AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

2020/12/28 00:40