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

2025-03-04 22:26:01
推荐回答(3个)
回答1:

因为截图不全,我这里先假设数据区为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

运行结果



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

回答2:

没文件的话就做梦吧

回答3:

有文件的话考虑做一做