<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>SbUniqRank on Sulprobil</title>
    <link>https://www.sulprobil.de/tags/sbuniqrank/</link>
    <description>Recent content in SbUniqRank on Sulprobil</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 04 Jul 2026 14:47:00 +0100</lastBuildDate>
    <atom:link href="https://www.sulprobil.de/tags/sbuniqrank/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>sbUniqRank (VBA)</title>
      <link>https://www.sulprobil.de/sbuniqrank_en/</link>
      <pubDate>Sat, 04 Jul 2026 14:47:00 +0100</pubDate>
      <guid>https://www.sulprobil.de/sbuniqrank_en/</guid>
      <description>&lt;h2 id=&#34;abstract&#34;&gt;Abstract&lt;/h2&gt;&#xA;&lt;p&gt;You need a rank function which returns a unique rank, even if duplicates occur?&#xA;One possible approach:&lt;/p&gt;&#xA;&lt;p&gt;You need to press &lt;em&gt;ALT&lt;/em&gt; + &lt;em&gt;F11&lt;/em&gt;, insert a new module and copy the program code below&#xA;into the new module, then return to your spreadsheet, select cells &lt;em&gt;A12:C15&lt;/em&gt; and&#xA;enter &lt;em&gt;=sbUniqRank(A2:C5)&lt;/em&gt; with &lt;em&gt;CTRL&lt;/em&gt; + &lt;em&gt;SHIFT&lt;/em&gt; + &lt;em&gt;ENTER&lt;/em&gt; as an array formula.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.sulprobil.de/sbUniqRank.png&#34; alt=&#34;sbUniqRank&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;appendix--sbuniqrank-code&#34;&gt;Appendix – sbUniqRank Code&lt;/h2&gt;&#xA;&lt;p&gt;Please read my &lt;a href=&#34;https://www.sulprobil.de/about/disclaimer_en/&#34; title=&#34;Disclaimer&#34;&gt;Disclaimer&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-VB.net&#34; data-lang=&#34;VB.net&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Option&lt;/span&gt; Explicit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Function&lt;/span&gt; sbUniqRank(r &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; Range, _&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Optional&lt;/span&gt; vCountFrom &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Variant&lt;/span&gt; = 1, _&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Optional&lt;/span&gt; bJustNumeric &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Boolean&lt;/span&gt; = &lt;span style=&#34;color:#00f&#34;&gt;True&lt;/span&gt;, _&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Optional&lt;/span&gt; lOrder &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt; = 0) &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Variant&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;Source (DE): http://www.berndplumhoff.de/sbuniqrank_de/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;Source (EN): http://www.sulprobil.de/sbuniqrank_en/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;(C) (P) by Bernd Plumhoff 25-Oct-2018 PB V0.6&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;Array function to rank a range with unique ranks.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;vCountFrom determines from where you count in case of duplicates:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;1 = first rows (1 to count), then columns (1 to count), i. e. top left to top right (tltr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;2 = starting with top right to top left, then downwards (trtl)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;8 = starting with bottom right to top right, then to the left (brtr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;If bJustNumeric is True then Rank will be used to rank, if False then Countif will be used.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;lOrder is like Rank&amp;#39;s order: 0 = Descending, 1 = Ascending&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Dim&lt;/span&gt; obj &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Object&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Dim&lt;/span&gt; bSwap &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Boolean&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Dim&lt;/span&gt; i &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt;, i1 &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt;, i2 &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt;, i3 &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Dim&lt;/span&gt; j &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt;, j1 &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt;, j2 &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt;, j3 &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Long&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Dim&lt;/span&gt; sComp &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;String&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Dim&lt;/span&gt; vI &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Variant&lt;/span&gt;, vR &lt;span style=&#34;color:#00f&#34;&gt;As&lt;/span&gt; &lt;span style=&#34;color:#2b91af&#34;&gt;Variant&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vI = r: vR = vI&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Set&lt;/span&gt; obj = CreateObject(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;Scripting.Dictionary&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Select&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; vCountFrom&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; 1, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;tltr&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;olor&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    i1 = 1: i2 = UBound(vI, 1): i3 = 1: j1 = 1: j2 = UBound(vI, 2): j3 = 1: bSwap = &lt;span style=&#34;color:#00f&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; 2, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;trtl&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;orol&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    i1 = 1: i2 = UBound(vI, 1): i3 = 1: j1 = UBound(vI, 2): j2 = 1: j3 = -1: bSwap = &lt;span style=&#34;color:#00f&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; 3, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;blbr&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;ulur&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    i1 = UBound(vI, 1): i2 = 1: i3 = -1: j1 = 1: j2 = UBound(vI, 2): j3 = 1: bSwap = &lt;span style=&#34;color:#00f&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; 4, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;brbl&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;urul&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    i1 = UBound(vI, 1): i2 = 1: i3 = -1: j1 = UBound(vI, 2): j2 = 1: j3 = -1: bSwap = &lt;span style=&#34;color:#00f&#34;&gt;False&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; 5, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;tlbl&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;olul&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    i1 = 1: i2 = UBound(vI, 2): i3 = 1: j1 = 1: j2 = UBound(vI, 1): j3 = 1: bSwap = &lt;span style=&#34;color:#00f&#34;&gt;True&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; 6, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;bltl&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;ulol&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    i1 = 1: i2 = UBound(vI, 2): i3 = 1: j1 = UBound(vI, 1): j2 = 1: j3 = -1: bSwap = &lt;span style=&#34;color:#00f&#34;&gt;True&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; 7, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;trbr&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;orur&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    i1 = UBound(vI, 2): i2 = 1: i3 = -1: j1 = 1: j2 = UBound(vI, 1): j3 = 1: bSwap = &lt;span style=&#34;color:#00f&#34;&gt;True&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; 8, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;brtr&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;uror&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    i1 = UBound(vI, 2): i2 = 1: i3 = -1: j1 = UBound(vI, 1): j2 = 1: j3 = -1: bSwap = &lt;span style=&#34;color:#00f&#34;&gt;True&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Case&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;Else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sbUniqRank = CVErr(xlErrValue)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#00f&#34;&gt;Exit&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;Function&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;End &lt;span style=&#34;color:#00f&#34;&gt;Select&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sComp = &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt;&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#00f&#34;&gt;If&lt;/span&gt; lOrder = 1 &lt;span style=&#34;color:#00f&#34;&gt;Then&lt;/span&gt; sComp = &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;lt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;If&lt;/span&gt; bSwap &lt;span style=&#34;color:#00f&#34;&gt;Then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;column - wise&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;For&lt;/span&gt; i = i1 &lt;span style=&#34;color:#00f&#34;&gt;To&lt;/span&gt; i2 &lt;span style=&#34;color:#00f&#34;&gt;Step&lt;/span&gt; i3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#00f&#34;&gt;For&lt;/span&gt; j = j1 &lt;span style=&#34;color:#00f&#34;&gt;To&lt;/span&gt; j2 &lt;span style=&#34;color:#00f&#34;&gt;Step&lt;/span&gt; j3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#00f&#34;&gt;If&lt;/span&gt; bJustNumeric &lt;span style=&#34;color:#00f&#34;&gt;Then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        vR(j, i) = Application.WorksheetFunction.Rank(vI(j, i), r, lOrder) _&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   + obj.Item(vI(j, i))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#00f&#34;&gt;Else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        vR(j, i) = Application.WorksheetFunction.CountIf(r, _&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   sComp &amp;amp; vI(j, i)) + obj.Item(vI(j, i)) + 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#00f&#34;&gt;End&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;If&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      obj.Item(vI(j, i)) = obj.Item(vI(j, i)) + 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#00f&#34;&gt;Next&lt;/span&gt; j&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Next&lt;/span&gt; i&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;Else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#008000&#34;&gt;&amp;#39;row - wise&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;&lt;/span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;For&lt;/span&gt; i = i1 &lt;span style=&#34;color:#00f&#34;&gt;To&lt;/span&gt; i2 &lt;span style=&#34;color:#00f&#34;&gt;Step&lt;/span&gt; i3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#00f&#34;&gt;For&lt;/span&gt; j = j1 &lt;span style=&#34;color:#00f&#34;&gt;To&lt;/span&gt; j2 &lt;span style=&#34;color:#00f&#34;&gt;Step&lt;/span&gt; j3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#00f&#34;&gt;If&lt;/span&gt; bJustNumeric &lt;span style=&#34;color:#00f&#34;&gt;Then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        vR(i, j) = Application.WorksheetFunction.Rank(vI(i, j), r, lOrder) _&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   + obj.Item(vI(i, j))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#00f&#34;&gt;Else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        vR(i, j) = Application.WorksheetFunction.CountIf(r, _&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                   sComp &amp;amp; vI(i, j)) + obj.Item(vI(i, j)) + 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#00f&#34;&gt;End&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;If&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      obj.Item(vI(i, j)) = obj.Item(vI(i, j)) + 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#00f&#34;&gt;Next&lt;/span&gt; j&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#00f&#34;&gt;Next&lt;/span&gt; i&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;End&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;If&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sbUniqRank = vR&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;End&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;Function&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;download&#34;&gt;Download&lt;/h2&gt;&#xA;&lt;p&gt;Please read my &lt;a href=&#34;https://www.sulprobil.de/about/disclaimer_en/&#34; title=&#34;Disclaimer&#34;&gt;Disclaimer&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
