ゴリラストロングの雑記帳

月収10万円の広告収入を目指す自称専業ライターのブログです。




【VBA】Rank、Large、Smallの使用例。Findメソッドも使いました。




どうも、ゴリラストロングです。

 

今回はVBAでRank、Large、Smallの使用例を作成してみました。また、Findメソッドも使いました。

 

<元データ>

f:id:gorilla-strong:20200322072316p:plain

 

<マクロ実行後>

f:id:gorilla-strong:20200322072400p:plain

 

 

 スポンサーリンク

  

 

ソースコード

Sub 関数()

Dim ws As Object
Set ws = ThisWorkbook.Worksheets(1)

Dim lastrow As Long
lastrow = ws.Cells(Rows.Count, 1).End(xlUp).Row

Dim rng1, rng2 As Range
Set rng1 = ws.Range("E4:E" & lastrow)
Set rng2 = ws.Range("B4:D" & lastrow)

For i = 4 To lastrow

ws.Range("F" & i) = WorksheetFunction.Rank(ws.Range("E" & i), rng1, 0)

Next

Dim lastrow2 As Long
lastrow2 = ws.Cells(Rows.Count, 3).End(xlUp).Row

For j = 10 To lastrow2

ws.Range("D" & j) = WorksheetFunction.Large(rng2, ws.Range("C" & j))
ws.Range("E" & j) = WorksheetFunction.Small(rng2, ws.Range("C" & j))

Next

For k = 10 To lastrow2

Dim best As Long
best = ws.Range("D" & k)

Dim worst As Long
worst = ws.Range("E" & k)

Dim c As Range
Set c = Cells.Find(best)

Dim d As Range
Set d = Cells.Find(worst)


c.Interior.ColorIndex = 7
d.Interior.ColorIndex = 8

Next



End Sub

 

 

<参照させていただいたサイト>

https://www.sejuku.net/blog/32288

http://officetanaka.net/excel/vba/cell/cell05.htm

http://officetanaka.net/excel/vba/cell/cell11.htm

 

以上、ゴリラストロングでした。

 

 スポンサーリンク