Solved

Ranking data records using VBA

Posted on 2014-02-10
2
485 Views
Last Modified: 2014-02-10
Dear Experts:

I got two columns on the active worksheet

Column A: Overall Count of Items
Column B: The respective rank where duplicate values get the same rank and with no skipping of subsequent ranks.

There is a wonderful formula in Cell B2 that achieves this feat. Courtesy by barryhoudini from EE.
=IF(A2="";"";SUMPRODUCT((A$2:A$16>A2)/COUNTIF(A$2:A$16;A$2:A$16&""))+1)
This  formula is then simply copied down.

Now comes my problem:

This formula is to be filled into B2 of a worksheet called 'Results' and then copied down using VBA. The range can vary, there could be just 16 data records, but there also could be hundreds of data records that should be ranked.

Help is much appreciated. Thank you very much in advance.

Regards, Andreas

I have attached a sample file for your convenience.

Regards, Andreas


Count      Rank
800           1
408           2
380           3
260           4
260           4
106           5
  98           6
  98           6
  78           7
  54           8
  54           8
  48           9
  44         10
  28         11
  24         12

Ranking-data-records-using-VBA.xlsx
0
Comment
Question by:AndreasHermle
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 51

Accepted Solution

by:
Rgonzo1971 earned 500 total points
ID: 39847734
Hi,

pls try

Sub Mactro5()
LastRow = Range("A" & Cells.Rows.Count).End(xlUp).Row
Range("B2:B" & LastRow).Formula = _
    "=IF(A2=" & Chr(34) & Chr(34) & "," & Chr(34) & Chr(34) & ",SUMPRODUCT((A$2:A$" & LastRow & ">A2)/COUNTIF(A$2:A$" & LastRow & ",A$2:A$" & LastRow & "&" & Chr(34) & Chr(34) & "))+1)"
End Sub

Open in new window

Regards
0
 

Author Closing Comment

by:AndreasHermle
ID: 39847752
Hi Rgonzo,

I am indeed deeply impressed by your expertise.

Works like a charm. Thank you very much for your professional and swift support. I really appreciate it.

Regards, Andreas
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to get Spreadsheet Compare 2016 working with the 64 bit version of Office 2016
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question