用基于随机生成的数组索引的数组元素填充范围

我正在创build一个程序,将每天/身体部分创build一个随机的锻炼程序。

下面是我的代码,希望能够从100个练习列表中创build一个简单的腹部练习。 一旦数组被创build,就select一个随机索引号。 我想用这个元素填充abToday范围的四行。

Private Sub CommandButton1_Click() Dim roll roll = Int((7 - 1 + 1) * Rnd + 1) If roll = 1 Then 'Gets all available ab movements Dim abdominals() As Variant abdominals = Sheets("KEY").Range("A2" & Rows.CountIf("A:A", "Abdominals")).End(xlUp).Row 'Creates today's ab routine Dim abToday As Range Set abToday = Range("A7:A22") RandomSample = Int((UBound(abdominals, 1) - LBound(abdominals, 1) + 1) * Rnd + 1) End Sub 

谁能提供任何方向?

这是在黑暗中的一点点,因为它不似乎跟随你的代码,但看看这样的事情是否会工作:

 Private Sub GetAbs() Dim ws As Worksheet Dim LastRow, row, i As Integer Dim abToday As Range Set abToday = Range("A7:A22") Set ws = Sheets("KEY") LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).row For i = 0 To 3 row = Int(LastRow * Rnd + 1) Cells(abToday.row + i, abToday.Column).Value = ws.Cells(row, 1).Value Next i End Sub 

请记住,它不会执行复制检查,这意味着逻辑会不时地列出相同的练习。 然而,要克服这个问题不应该是一个大问题,但这取决于是否重要。