Vba で日付で並べ替える方法 (例あり)


VBA で次の基本構文を使用すると、行を日付で並べ替えることができます。

 Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub

この特定の例では、列 A の日付に基づいて、範囲A1:C10の行を古いものから新しいものの順に並べ替えます。

行を日付の新しいものから古いものに並べ替える場合は、代わりにOrder1:=xlDescendingを指定できます。

Header:=xlYesは、最初の行をヘッダー行として扱うことを指定していることに注意してください。

次の例は、この構文を実際に使用する方法を示しています。

例: VBA を使用して日付順に並べ替える

Excel に、さまざまな日付の店舗での販売と払い戻しに関する情報を含む次のデータ セットがあるとします。

行を日付で古いものから新しいものへ並べ替えたいとします。

これを行うには、次のマクロを作成できます。

 Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub

このマクロを実行すると、次の出力が表示されます。

行が日付順に古い日付から新しい日付の順に並べ替えられることに注意してください。

行を日付で新しいものから古いものに並べ替えるには、 Order1:=xlDescendingを指定します。

 Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlDescending, Header:=xlYes
End Sub

このマクロを実行すると、次の出力が表示されます。

行が日付順に新しいものから古いものの順に並べ替えられることに注意してください。

注 #1 : この例では、1 つの列でソートしました。ただし、さらに多くのキーを指定して、複数の列で並べ替えることができます。

注 #2 : VBA の並べ替えメソッドの完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: 複数の列でシートを並べ替える方法
VBA: 範囲内の行数をカウントする方法
VBA: 列をフィルタリングする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です