Vba范围成对分割

时间:2016-12-13 22:50:33

标签: excel vba excel-vba

我有一组变量范围,我想对每个范围的每个成员进行成对分割,如果差异为3/1,则加粗成员或两个最高成员

示例1

Column A.   Ferrets.  Rabbits. Foxes.            
Column B. 3000 1000 4000

因为雪貂和狐狸的比例大于兔子的比例大于3/1

示例2

Column A. Ferrets. Rabbits. Foxes.            
Column B 1000 1000 4000

因为狐狸与雪貂的比例大于3/1而且兔子加粗了它们

示例3

Column A.  Ferrets.  Rabbits. Foxes.            
Column B. 3000 3500 4000

一无所获

我可以让逻辑变得大胆,但我不太确定从哪里开始获得excel来遍历所有可能的分歧。请注意,范围将随行数而变化。有时高达5和6或更高,这就是我遇到问题的原因。

1 个答案:

答案 0 :(得分:0)

我只有一个do循环来计算范围内的单元格数。这给出了范围中包含的列数。我不知道该怎么办,然后取出并保存所有成对分区可能出现的任何分区的两倍。因此,如果它是2行,那么将有两个答案,3行,并且将有6个,4个,并且将有12个......我认为现在我想到它的功能将是n(n-1)。

Option Explicit

Sub Bold()

Dim i, j As Integer
i = 2  'Row
j = 3  'Column


Do
    If Cells(i,j).Value <>"" Then
        i = i + 1
    End If

Loop Until Cells(i, j).Value = ""
i = i - 1

我认为这将是某种嵌套循环,但我不太确定从哪个行开始使用函数。