Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


75865 / 76738 ←次へ | 前へ→

【5304】Re:並び換えについて
回答  りん E-MAIL  - 03/5/5(月) 21:19 -

引用なし
パスワード
   123 さん、こんばんわ。

>1行目は対象外、2行目が項目名で、3行目以降 最後の行(lastrow)までを
>昇順にいたいのです。対象の列は icol です。

3行目以降を対象としてソートすればいいです(タイトル行は無しで)。

Sub test()
  Dim lastrow As Long, lastcol As Integer, icol As Integer
  '↓暫定的に指定
  icol = 3 'C列でソートする例
  '表示しているシートの使用範囲全体をソートする。
  With ActiveSheet
   With .UsedRange
     lastrow = .Cells(.Count).Row
     lastcol = .Cells(.Count).Column
   End With
   '
   If lastrow > 3 and lastcol >= icol Then
     With .Range(.Cells(3, 1), .Cells(lastrow, lastcol))
      .Sort Key1:=.Parent.Cells(3, icol), _
         Order1:=xlAscending, _
         Header:=xlNo, _
         SortMethod:=xlCodePage
     End With
   End If
  End With
End Sub

こんな感じです。
Sortメソッドの引数の詳細についてはヘルプで確認してください。

1 hits

【5303】並び換えについて 123 03/5/5(月) 20:54 質問
【5304】Re:並び換えについて りん 03/5/5(月) 21:19 回答
【5308】Re:並び換えについて 123 03/5/6(火) 11:19 お礼

75865 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free