我正在创建一个程序,它将每天/每个身体部位创建一个随机锻炼程序。
以下是我的代码,希望能够从100个练习列表中创建一系列腹部练习。创建数组后,将选择随机索引号。我想用这个元素填充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
任何人都可以提供任何指示吗?
答案 0 :(得分:0)
这是在黑暗中的一点点,因为它似乎没有遵循你的代码,但看看这样的东西是否会起作用:
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
请记住,它不会进行欺骗检查,这意味着可以想象逻辑会不时地多次列出相同的练习。尽管如此,要克服这个问题应该不是什么大问题,但这取决于是否重要。