Excel 随机排序 问题?

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:26:38
向各位高手请教一下。
我用Excel整理数据。
假如我的数据是:
123456
123456
123456
等多行有序相同的数据。
有没有什么办法可以让这些多行的数据随机排序。每一行的排列顺序都是随机生成的。但每一行都必须保证123456这几个数字都存在。
生成的数据结果:
6127354
2371654
1472563
首先表示感谢。
但是还得麻烦您帮我解释一下用法好吗?因为我也不是太熟悉Excel的操作。就是你写的程序怎么应用。具体的每一句的意思能帮忙解释一下吗?谢谢了。

教你一个笨办法,

先的数据转置为列:复制->选择性粘贴->转置

然后在另一列输入公式:=rand(),向下填充.

然后以输入公式的那一列排序,

要一列一列来,每一列数据都分别与输入公式的那一列排序一次,

这样:

1 =RAND() 1 =RAND() 1 =RAND()
2 =RAND() 2 =RAND() 2 =RAND()
3 =RAND() 3 =RAND() 3 =RAND()
4 =RAND() 4 =RAND() 4 =RAND()
5 =RAND() 5 =RAND() 5 =RAND()
6 =RAND() 6 =RAND() 6 =RAND()

然后再把数据转置为行.

那就这样:
Sub ss()
Dim A1() As Long, A2
Dim r As Long, c As Long, i As Long, j As Long, k As Long
Dim s As Long, o As Long

r = ActiveSheet.UsedRange.Rows.Count'取激活工作表已使用的行数
c = ActiveSheet.UsedRange.Columns.Count'取激活工作表已使用的列数

For i = 1 To r'循环,处理每一行
ReDim A1(c)
Randomize
For j = 1 To c
A1(j) = ActiveSheet.UsedRange.Cells(i, j).Value'取当前行各单元格的值
Next j
A2 = A1
For j = 1 To c
If (UBound(A1) = 1) Then
ActiveSheet.UsedRange.