Excel VBA質問箱 IV

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

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


54597 / 76738 ←次へ | 前へ→

【26927】Re:並べ替え
お礼  cap  - 05/7/23(土) 11:53 -

引用なし
パスワード
   ▼りん さん:こんにちは。
ありがとう御座いました。

完璧です。
>cap さん、おはようございます。
>
>>1つのブックに数多くのシートがあります。
>>A列からI列まで3行目以降文字や数字や記号が入ってます。
>>A列には、3行目以降日付が 2004年5月28日 の形式で1年数か月分並んでい
>ます。
>>現在、日付は最終行が古く、A3セルが新しい状態です。
>>これを逆に、下は行くほど新しい日付になる様に並べ替えたいのです。
>
>これを手動でやってみて記録するとだいたいこんな感じです。
>Sub Macro2()
>' Macro2 Macro
>  Range("A3:A300").Select
>  Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
>    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
>    :=xlPinYin
>  Selection.NumberFormatLocal = "m""月""d""日"""
>End Sub
>
>そこから、いらないSelectをはずして、シートでループし、範囲をそれぞれ設定するようにしたらこんな感じです。
>Sub test()
>  Dim ws As Worksheet
>  Application.ScreenUpdating = False
>  '現在表示しているブックの全シートをループ
>  For Each ws In ActiveWorkbook.Worksheets
>   With ws
>     'A列の最下行
>     Rmax& = .Range("A65536").End(xlUp).Row
>     If Rmax& > 3 Then
>      'A列のデータの範囲
>      Set r1 = .Range(.Cells(3, 1), .Cells(Rmax&, 1))
>      'I列まで範囲を拡張してソート
>      r1.Resize(r1.Rows.Count, 9).Sort Key1:=.Cells(3, 1), _
>                 Order1:=xlAscending, Header:=xlNo
>      'セル書式→数値の書式設定
>      r1.NumberFormatLocal = "m""月""d""日"""
>     End If
>   End With
>  Next
>  Application.ScreenUpdating = True
>End Sub
0 hits

【26906】並べ替え cap 05/7/23(土) 2:02 質問
【26909】Re:並べ替え りん 05/7/23(土) 9:46 回答
【26927】Re:並べ替え cap 05/7/23(土) 11:53 お礼
【26910】Re:並べ替え IROC 05/7/23(土) 9:48 発言
【26928】Re:並べ替え cap 05/7/23(土) 11:56 お礼

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