下面我们就来看看在Excel VBA程序的排序号。

现状:

Sort Numbers Example

将工作表上的一个命令按钮并添加以下代码行:

1.首先,我们声明整数类型的三个变量和一个Range对象。

Dim i As Integer, j As Integer, temp As Integer, rng As Range

CurrentRegion属性此。

当我们不知道一个范围的确切边界提前(我们希望这个项目工作了9号,而且90号)CurrentRegion是非常有用的。

Set rng = Range("A1").CurrentRegion

3.我们启动两个对于下一步循环。

For i = 1 To rng.Count

For j = i + 1 To rng.Count

说明:rng.Count等于9,所以第2行代码减少到对于i = 1〜9,对于j = I + 1到9,其中i = 1,J = 2,3,…​,8和9被检查。

4.数字正确排序,我们比较的第一个数字与一个数字。如果下一个数量较少,我们交换了号码。添加以下如果Then语句。

If rng.Cells(j) < rng.Cells(i) Then

End If

如果上述说法属实,我们交换了号码。

例如:对于i = 1和j = 2中,数字2和10被比较。上述声明是不正确的。因此,没有必要换的数字。 Excel VBA中j增加1,并重复代码行对于i = 1和j = 3可以很容易地看到图5是大于2,所以仍然无需交换号码。我们得到J = 4,J相同的结果= 5和J = 6。当我们在J = 7到达,因为1是小于2的上述声明真实

SWAP的数字。我们一个号码临时存储温度,以便Excel VBA可以适当调换号码。添加以下代码行中的if语句。

'swap numbers

temp = rng.Cells(i)

rng.Cells(i) = rng.Cells(j)

rng.Cells(j) = temp

6.我们关闭第二For Next循环(If语句外)。

Next j

对于i = 1和j = 7时,Excel VBA交换的数字。这意味着我们在第一位置在位置7得到图1和2现在,我们在第一位置处具有1个,我们将比较与5(对于j = 8)和4(对于j = 9)该值。有没有必要换的数字(1是最小的数字)。

这种方式的Excel VBA得到(对于i = 1)在所述第一位置的最小数目。为了得到在所述第二位置的第二最小数目时,Excel VBA重复完全相同的步骤,对于i = 2,以获得在第三位置的第三小数目时,Excel VBA重复完全相同的步骤,对于i = 3,等等

7.关闭第一个For接下来循环(如果语句外)。

Next i

8.测试你的程序。

结果:

Sort Numbers in Excel VBA