TOP > カテゴリ > Excel >

セルの値をソートする [ExcelのVBA]

セルの値をソートする

B列の値をキーとしてB1からC3のセルを並び替えます。

Private Sub CommandButton1_Click()
  Range("B1").Value = 2
  Range("B2").Value = 1
  Range("B3").Value = 3
      
  Range("C1").Value = "りんご"
  Range("C2").Value = "みかん"
  Range("C3").Value = "メロン"
  
  ' B列のキーを元に「昇順」に並び替える
  Range("B1:C3").Sort Range("B1"), xlAscending
  
  ' B列のキーを元に「降順」に並び替える
  ' Range("B1:C3").Sort Range("B1"), xlDescending
End Sub

[結果]

複数のキーを指定してソートする

次のコードは3つのキー/順序を指定してソートをしています。

Private Sub CommandButton1_Click()
  Range("A1").Value = "1"
  Range("A2").Value = "2"
  Range("A3").Value = "3"
  Range("A4").Value = "3"
  Range("A5").Value = "3"
      
  Range("B1").Value = "りんご"
  Range("B2").Value = "みかん"
  Range("B3").Value = "メロン2"
  Range("B4").Value = "メロン1"
  Range("B5").Value = "メロン1"
  
  Range("C1").Value = "青森県"
  Range("C2").Value = "和歌山県"
  Range("C3").Value = "北海道夕張市"
  Range("C4").Value = "北海道1"
  Range("C5").Value = "北海道2"
  
  ' 3つのキーを元に降順に並び替える
  Range("A1:C5").Sort _
      key1:=Range("A1"), Order1:=xlDescending, _
      key2:=Range("B1"), Order2:=xlAscending, _
      key3:=Range("C1"), Order3:=xlDescending
End Sub

[結果]

VBAの固有操作

[セルの操作]
セルの値/計算式を設定する
セルのフォントを設定する
セルの背景色/網掛けを設定する
セルの文字配置を設定する
セルの表示形式を設定する
セルに罫線を設定する
セルの選択/コピー/貼り付け/切り取り/削除/クリア
セルの結合/結合の解除をする
セルにコメントを追加/削除する
シートの保護とセルのロック解除をする
セルの値をソートする

[テーブル/グラフ/ピボットテーブル]
テーブルの作成/操作
グラフの作成/操作
ピボットテーブルの作成/操作

[ワークシート]
シートの追加/移動/コピー/削除/表示/印刷
ワークシートのイベント

[ワークブック]
ブックを開く/追加/上書き/名前保存/PDFの作成
ワークブックのイベント

[その他]
その他の操作まとめ

エクセル講座のクイックリンク

ホーム 新機能 基本(初級) 基本(中級) 基本(上級) 関数 マクロ VBA TIPS





関連記事



公開日:2015年07月19日 最終更新日:2015年07月23日
記事NO:01221