過去に自分が書いたVBAコードが糞だった

五十音順に並べるマクロ

Private Sub aiueo()
'あいうえお用の初期化
    Worksheets("あいうえお").Columns("A:BA").Delete Shift:=xlToLeft
    Worksheets("50").Columns("A:I").ClearContents
    Worksheets("all_ki").Columns("A:I").Copy
    Sheets("50").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
    Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin, DataOption1:=xlSortNormal
    Application.CutCopyMode = False
End Sub

記録停止から抽出するような手抜き処理なので、ちょっと改造したぐらいだと動かなくなる。

Columns.Copyは使うんじゃない。

改善案

Private Sub aiueo()
'あいうえお用の初期化
    Worksheets("あいうえお").Columns("A:BA").Delete Shift:=xlToLeft
    Worksheets("50").Columns("A:I").ClearContents
    
    Worksheets("all_ki").Range("A1:I2000").Copy Destination:=Worksheets("50").Range("A1:I2000")
    
    Worksheets("50").Activate
    Worksheets("50").Range("A1:I2000").Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin, DataOption1:=xlSortNormal
        
    Application.CutCopyMode = False
End Sub