Excelシートを姓名で並べ替えようとしていますが、複数のマクロを1つのボタンに割り当てることが可能かどうかは疑問でした。一度クリックすると、名前で分類されます。再度クリックすると、姓でソートされます。これは可能ですか?私は同様の質問を見つけることができなかったので、私は尋ねました。複数の機能を持つマクロボタンを作成していますか?
は、ここで明らかに他のコードが似ていますが、代わりに、昇順で降順に私のコード
姓
Columns ("D:D").Select
ActiveWorkbook.Worksheets(Sheet1") .Sort.SortFields.clear
ActiveWorkbook.Worksheets(Sheet1") .Sort.SortFields.Add Key:=Range("D1"),
Sorton::x=SortOnValues, Order:=xlDesending, DataOption:=xlSortNormal
with ActiveWorkbook.Worksheets("sheet1") .Sort
.SetRange Range("A1:K505")
Header = X1No
.MatchCase = False
.Orientation = x1TopToBottom
.SortMethod = x1PinYin
.Apply
End With
ActiveWindow.SmallScroll Down:=-495
End Sub
です。
マクロやボタンを必要としない場合もあります。データをExcelテーブルとしてフォーマットする場合(Home - > Format as Table)、フィルタボタンを使用してカラムを直接ソートできます。 独立したコントロール(マクロボタンなど)を必要とするアプリケーションを構築する場合、必要に応じて行や列を動的に追加/削除できるように、テーブル構造を使用することができます。私は個人的にListObjects(テーブルがVBAでどのように表現されているか)と範囲を比較することを好みます。特に、名前で列にアクセスし、データや構造を操作しやすくなります... –