在Excel中VBA排序号
下面我们就来看看在Excel VBA程序的排序号。
现状:
将工作表上的一个命令按钮并添加以下代码行:
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.测试你的程序。
结果: