|
楼主 |
发表于 2023-1-31 19:04
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 zzpsx 于 2023-1-31 19:22 编辑
还想麻烦下高手,再加个f列,f列上把b列的单词为三遍,谢谢。
原代码:
Sub RndSort2()
Dim arr, brr, i%, r%, temp
With Sheets("原表")
arr = .Range("B2:D" & .Range("B" & Rows.Count).End(3).Row)
End With
ReDim brr(1 To UBound(arr) * 2, 1 To 4)
Randomize
For i = 1 To UBound(arr) * 2
If i <= UBound(arr) Then
r = Int(Rnd * (UBound(arr) - i + 1)) + i
For j = 1 To 3
temp = arr(r, j): arr(r, j) = arr(i, j): brr(i, j) = temp
Next
End If
brr(i, 4) = brr(Int((i + 1) / 2), 1)
Next
With Sheets("想要的效果")
[B1:E1000].ClearContents
[B1].Resize(UBound(brr), 4) = brr
End With
End Sub
|
|