使用VBA对随机表进行排序

时间:2019-03-13 15:05:58

标签: excel vba sorting random

我有一个vba代码来生成随机值,然后将随机值生成为生成的随机值。我将它们放在一个表中,并希望基于第一列中的随机值以升序对其进行排序。但是,我使用了几种代码并进行了尝试,但是每次都会出现错误。有人知道如何解决吗?我的代码如下:

app:backgroundTint

1 个答案:

答案 0 :(得分:0)

您想在宏中avoid the use of Activate and Select

在执行删除重复项之前,您需要将公式的结果转换为实际值,因为对RANDBETWEEN公式进行排序只会产生新的随机数:

Range("A2:A38").Formula = "=RANDBETWEEN(1,12)"

Range("B2:B38").Formula = "=RANDBETWEEN(1,INDEX({2,2,8,8,8,8,4,2,8,10,4,8},A2))"

Range("A2:B38").Value = Range("A2:B38").Value

ActiveSheet.Range("$A$2:$B$38").RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo

对于您是否要对值进行排序(如问题标题中所述,或删除重复项(代码所执行的操作)),我也不清楚