下面是一个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编辑器中并运行它,以在您的工作簿中实现所需的功能

vba A列为一组、B列为一组、C列为一组随机抽一组放到D列

原文地址: http://www.cveoy.top/t/topic/iFg3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录