『B列からR列まで(A列を除外して)の範囲で並べ替え』(どうしても) よろしくお願い致します。 B18からR18までの列を先頭行として、 それ以下の行にデータが書き込まれています。 B列には日付が書き込まれていて途中には空白セルはありません。 言い換えますと、B列に日付を入力してからR列までの範囲で データを入力しています。C列からR列の範囲には空白セルが存在します。 データが無い場合を△で、データがある場合を◎であらわすと以下のように なります。       B    C    D    ・   ・    R  18 日付1    ◎    △             ◎  19 日付2    ◎    ◎             ◎  20 日付3    ◎    ◎             ◎  21 日付4    ◎    △             ◎  ・   ・     ・ ・             ・  ・   ・     ・ ・             ・ 500(もっと下まであります)                ◎ Q)データが書き込まれている$B$18:$R500(500以上ありますが)   範囲を自動的に指定して並べ替えをしたいのですが、VBAではどのように書けば   良いのでしょうか(A列は並べ替えの対象から除外したい)。 書き込まれている範囲は日々増えていき、最下行が最新データとして 書き込まれるのですが、日々入力が終わった段階で、(したがって並べ替え範囲は 日によってかわります) 全データを降順日付に並べ替えたいのです。 マクロ自動記録では、範囲が固定されてしまい、うまくいきませんでした。 どうぞ、よろしくお願い致します。 ---- i = .range("b"& Rows.Count).End(xlUp).Row .range("b18:r"&i).Select の範囲指定では(キッコー) ---- sub xxx() dim i as integer i = range("b"& Rows.Count).End(xlUp).Row range("b18:r"&i).Select 'ここに並べ替えのマクロを記述する end sub 変数の宣言をするとこんな感じでしょうか? (キッコー) ---- ありがとうございます。 思い通りに動きました。 横列の範囲も縦行の範囲も完璧に指定できました。 完璧です。 返信が遅れましたことをお詫び申し上げます。 (どうしても) ----