(エクセルVBA)並び替えの方法
この度はお世話になります。
エクセル2003で、選択したセル範囲(仮に「顧客一覧」とします)を並び替えるVBA(マクロ)を作成中です。
一応、下の方法で実現しました(リスト1)。しかし、「顧客一覧」の最下行だけ並び替えの対象からはずしたいのです。
理由は、別に行を挿入する必要があるためです(リスト2)。
行を挿入しても、そのデータが「顧客一覧」の範囲に含まれるようにしたいため、「顧客一覧」の最下行はブランクにしています。
しかし、リスト1では、ブランクの行も並び替えの対象になってしまい不都合が生じます。
セル範囲のうまい指定方法を教えていただければ幸いです
(リスト1の修正をお願いします)。
'-------------------------------
'リスト1 選択範囲を並び替える
'-------------------------------
Sub 顧客一覧の並べ替え()
Dim rowsCount As Long '表の現在行数
'行数の取得
rowsCount = Range("顧客一覧").Rows.Count
'並び替える
Range("顧客一覧").Sort key1:=Range("顧客一覧").Cells(1, 1), _
Order1:=xlAscending, Header:=xlGuess
End Sub
-------------------------------
'リスト2 行を追加する
'-------------------------------
Sub 顧客の追加()
Dim rowsCount As Long '表の現在行数
'行数の取得
rowsCount = Range("顧客一覧").Rows.Count
'最下行に行を挿入
Range("顧客一覧").Cells(rowsCount, 1).EntireRow.Insert
End Sub
※セル範囲「顧客一覧」は、初期値は B5:F10 です(A列はブランク)。
※B列に顧客名(C~F列は住所電話番号等)を入力します。
※並び替えの基準は「列B」/昇順 です。
※行の挿入は最下行に行います(リスト2)。
以上、どうぞよろしくお願い致します。
お礼
ありがとうございました。 左右の段落を合せたのですが、変わりません。 結局のところ書式コピーで対応しました。