並び替え範囲が「テーブル以外の場合」は,.SetRangeが必要です。テーブルの場合は不要です。
.SetRange Range("A1:A11")
Sub ソート()
'テーブル変数の宣言
Dim tbl As ListObject
' テーブルを代入
Set tbl = Worksheets(1).ListObjects(1)
With tbl.sort '← .sort省略しています
(.sort).SortFields.Clear
(.sort).SortFields.Add2 _ '←アンダーバー
key:=tbl.ListColumns(1).Range, Order:=xlAscending
(.sort).SortFields.Add2 _'←アンダーバー
key:=tbl.ListColumns(2).Range, Order:=xlAscending
(.sort).SortFields.Add2 _'←アンダーバー
key:=tbl.ListColumns(3).Range, Order:=xlAscending
'((.sort).SetRange Range("A1:A11")テーブル以外は必要)
(.sort).Apply
End With
End Sub
データタブの並び替えボタンを押して、並び替えが設定されていれば成功です