ExcelVBAについて質問です。 下記のURLと同じような質問になってしまいますが、うまくいかなかったので具体的に質問させてください。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10230995320 仕様としては以下のように考えています。 ・100名の会員がいる ・B列には氏名 ・C列には得点 ・D列に評価を表示したい ・会員全員を評価する ・評価は得点の大きい順に10から2までの数字をつける 具体的には、 1.得点の上位1%に10を付ける 2.1を除く上位5%に9を付ける 3.1,2を除く上位10%に8を付ける 4.1,2,3を除く上位19%に7を付ける 5.1,2,3,4を除く上位25%に6を付ける 6.1,2,3,4,5を除く上位30%に5を付ける 7.1,2,3,4,5,6を除く上位7%に4を付ける 8.1,2,3,4,5,6,7を除く上位2%に3を付ける 9.1,2,3,4,5,6,7,8を除く上位1%に2を付ける というようにすべての会員に対して、評価を付けたいです。解決方法がわかる方がいらっしゃいましたら教えてください。 よろしくお願いいたします。 ****前回の質問から使用しているもの********** Sub test() Dim i As Long, rw As Long, rng As Range, RP, RM, ORG rw = Cells(Rows.Count, 2).End(xlUp).Row ORG = Range("C2:C" & rw).Value RP = Array("2", "10", "30", "40") RM = Array("A", "B", "C", "D") Set rng = Range("B1:C" & rw) For i = 0 To 3 rng.AutoFilter 2, Criteria1:=RP(i), Operator:=xlTop10Percent Intersect(Range("C2:D1048576"), rng.SpecialCells(xlVisible).Offset(, 1)) = RM(i) Next rng.AutoFilter Cells(2, 3).Resize(rw - 1) = ORG End Sub