Excel

 【Excel】VBAマクロの並び替えで範囲指定(変数、cells、可変など)する方法【Sort、Cells、Range関数を使用】

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では、VBAマクロの並び替えで範囲指定(変数、cells、可変など)する方法【Sort、Cells、Range関数を使用】について解説していきます。

ポイントとしては、Sort、Cells、Range関数を使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名を少々変わった名称にしております。あなた自身がご活用の際には、これらを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用ください。

それでは詳しく見ていきましょう!

 

VBAマクロで並び替えで範囲指定(変数)する方法【B3セルからB8セルのみに適用】

それではまず、B3セルからB8セルのみに適用する並び替えについて解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SorutoB3B8()
    Dim hensuu As Range
    Set hensuu = ThisWorkbook.Sheets("Sheet1").Range("B3:B8")
    hensuu.Sort Key1:=hensuu, Order1:=xlAscending, Header:=xlNo
End Sub

コードのAlt+F8を押し、マクロ選択画面でSorutoB3B8関数を実行します。

このコードでは、Sheet1のB3からB8までの範囲を指定し、昇順で並び替えるコードになっております。

変数hensuuを使用して範囲を指定しています。

 

VBAマクロで並び替えで範囲指定(変数)する方法【B列でソートし、同時に適用する範囲はB列とC列だけで並び替え】

続いては、B列でソートし、B列とC列のみで並び替える方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SorutoBCRetsu()
    With ThisWorkbook.Sheets("Sheet1").Range("B:C")
        .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlYes
    End With
End Sub

コードのAlt+F8を押し、マクロ選択画面でSorutoBCRetsu関数を実行します。

このコードでは、B列とC列のデータのみの範囲を指定し、B列を基準にして並び替えます。With文を使用して範囲を指定しています。

 

VBAマクロで並び替えで範囲指定を可変でする方法

最後に、並び替えの範囲を可変で設定する方法について解説していきます。見出し1のサンプルや書き方を参考にしてください。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。

Sub SorutoKahen()
    Dim kahensuu As Range
    Set kahensuu = ThisWorkbook.Sheets("Sheet1").UsedRange
    kahensuu.Sort Key1:=kahensuu.Cells(1, 1), Order1:=xlAscending, Header:=xlYes
End Sub

コードのAlt+F8を押し、マクロ選択画面でSorutoKahen関数を実行します。

このコードでは、シートの使用済み範囲(シート上でデータが入力されている範囲)全体を並び替えの対象としています。

kahensuu変数を使用して、動的に範囲を設定(つまり可変となっている)しています。

 

まとめ VBAマクロの並び替えで範囲指定(cells、可変など)する方法【Sort、Cells、Range関数を使用】

この記事では、VBAマクロの並び替えで範囲指定(変数、cells、可変など)する方法【Sort、Cells、Range関数を使用】について確認しました。

マクロをマスターしてもっと快適に生活を送っていきましょう!!!(^^)/