文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了Excel教程-EXCEL中瞬时排序脚本的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
Dim x As Integer ''这是在通用中声明的变量
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim num(250), num1 As String
Dim k As Integer
For i = 2 To 51
For j = 1 To 5
num1 = Cells(i, j).Value
If num1 <> "" Then
If Not IsNumeric(num1) Then
MsgBox ("错误!请输入有效数字(可包括负数和小数及有效的科学记数该可)")
Cells(i, j).Value = ""
i = 55
j = 6
k = k - 1
End If
num(k + 1) = Cells(i, j).Value
k = k + 1
End If
Next j
Next i
For i = 1 To k
For j = i + 1 To k
If CSng(num(i)) > CSng(num(j)) Then
num1 = num(i)
num(i) = num(j)
num(j) = num1
End If
Next j
Cells(2 + Int((i - 1) / 5), 7 + (i - 1) Mod 5).Value = num(i)
Next i
If x <> k Then
For i = k + 1 To x
Cells(2 + Int((i - 1) / 5), 7 + (i - 1) Mod 5).Value = ""
Next i
Cells(1, 7).Value = "排序后的数列如下(共有" & k & "个数)"
x = k
End If
End Sub