|
こんにちは
H〜L列をソートすると書いて有りましたのでM列を作業列に使います。
Sub test3()
Dim s As Range
Dim t As Range
Dim sh As Worksheet
Dim c As Long
Set sh = Worksheets("Sheet1")
Set s = sh.Range("F7", sh.Cells(Rows.Count, "F").End(xlUp))
c = 7 'F列からM列へのオフセット値
With s.Offset(, c)
.Formula = "=IF(F7<>0,F7,"""")"
.Value = .Value
Set t = .Offset(, -5).Resize(, 6)
Call test_sort(t, "F1", xlNo)
Call test_sort(Intersect(t, .SpecialCells( _
xlCellTypeConstants).EntireRow), "A1", xlNo)
Call test_sort(Intersect(t, .SpecialCells( _
xlCellTypeBlanks).EntireRow), "A1", xlNo)
.ClearContents
End With
End Sub
Sub test_sort(Target As Range, Key As String, Header As XlYesNoGuess)
With Target
.Select
.Sort _
Key1:=.Range(Key), Order1:=xlAscending, _
Header:=Header, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, _
DataOption1:=xlSortNormal
End With
End Sub
▼はる さん:
>ウッシさん
>
>こんにちは。
>お世話になります。
>
>そうですね。ウッシさんの仰るとおりで私の記載の仕方が良くなかったです。
>記載した表はまだ下のほうにデータが入っていてそこでは「0」が入っています。
>またしてもすいませんでした。
>並び替える基準はE列でお願いします。
>
>すいませんが,以下の場合でお願いします。
>
>
> A B C D E F G H I J
>1
>2
>3
>4 10月 Total
>5 名前 数値 数の 名前 数値
>6 <1 1-10 10< 合計 <1 1-10
>7 A君 2 10 1 13 13 O君 120・・・
>8 Yさん 0 0 0 0 0 Yさん 100・・・
>9 G君 0 0 0 0 0 Mさん 106・・・
>10 O君 0 1 2 3 3 K君 200・・・
>11 Nさん 0 0 0 0 0 Nさん 96・・・
>12 Mさん 4 10 0 14 14 B君 162・・・
>13 Iさん 0 0 15 15 15 H君 210・・・
>14 H君 0 0 11 11 11 A君 155・・・
>15 B君 0 0 0 0 0 G君 199・・・
>16 K君 5 0 0 5 5 Iさん 132・・・
|
|