如何使用VBA代码将EXCEL中一部分区域的单元格进行从小到大排序,并填充在制定的区域内?求详细代码。

如下,请将左侧区域的单元格中的数字按照大小排列在右侧制定区域内。

因为截图不全,我这里先假设数据区为A1:F9, 填充区为H1:M9

代码如下:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim arr1(1 To 54), arr2(1 To 54)

Dim x, y, z As Integer

Dim b, c

Dim a As Variant

z = 1

x = 1

y = 1

c = 1

For x = 1 To 9

 For y = 1 To 6

 arr1(z) = Cells(x, y)

 z = z + 1

 Next y

Next x

z = z - 1

For z = 1 To 54

 a = arr1(z)

 b = z

  For x = 1 To 54

   If a < arr1(x) Then

    a = arr1(x)

    b = x

   End If

  Next x

 arr2(c) = a

 c = c + 1

 arr1(b) = 0

Next z

c = c - 1

For x = 1 To 9

 For y = 8 To 13

  Cells(x, y) = arr2(c)

  c = c - 1

 Next y

Next x

End Sub

运行结果



如帮到你请点个采纳,谢谢^_^

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-24
没文件的话就做梦吧
第2个回答  2019-08-24
有文件的话考虑做一做
相似回答