vba A列为一组、B列为一组、C列为一组随机抽一组放到D列
下面是一个VBA代码示例,可以将A列、B列和C列中的一组数据随机抽取,并将结果放入D列:
Sub RandomGroup()
Dim lastRow As Long
Dim groupNum As Integer
Dim rng As Range
Dim cell As Range
' 获取数据范围的最后一行
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
' 设置随机数种子
Randomize
' 循环遍历每一行
For Each cell In Range("A1:A" & lastRow)
' 获取当前行的随机组号
groupNum = Int((3 - 1 + 1) * Rnd + 1)
' 根据组号选择对应的列数据
Select Case groupNum
Case 1
Set rng = Range(cell.Offset(0, 0), cell.Offset(0, 2))
Case 2
Set rng = Range(cell.Offset(0, 3), cell.Offset(0, 5))
Case 3
Set rng = Range(cell.Offset(0, 6), cell.Offset(0, 8))
End Select
' 将选择的数据复制到D列
rng.Copy Destination:=cell.Offset(0, 9)
Next cell
End Sub
请注意,此代码将会在A列中的每一行中随机选择一组数据,并将其复制到D列中的相同行。您可以将代码复制到VBA编辑器中并运行它,以在您的工作簿中实现所需的功能
原文地址: http://www.cveoy.top/t/topic/iFg3 著作权归作者所有。请勿转载和采集!