有没有人发现使用嵌套的 For Each 循环给定的命名范围一个障碍?
这是我试图使其工作的情况,认为既然命名范围可以帮助(对我)知道哪个属于什么。
虚构业务的要求有一个程序名称 [名为 ListofPrograms],它被分配一种颜色(有 9 个),每天 [名为 ListofDates](超过 10 天)随机分配数量的澳大利亚奶牛 [名为 ListofCows](out 5) 被放置在彩色程序中,供学生兽医测试,以向他们的老师展示他们的学术研究和临床成果。
这里是我如何做到这一点的 VBA 代码。我现在使用 Debug.Print,因为我不确定如何以这种方式成功填充 Sheets("Outcome")。
Option Explicit
Sub CowsGenerator()
Dim Programrng, Daterng, Cowsrng As Range
With Sheets("Outcome")
For Each Programrng In Range("ListofPrograms")
For Each Daterng In Range("ListofDates")
For Each Cowsrng In Range("ListofCows")
Debug.Print Programrng.Value, Daterng.Value, Cowsrng.FormulaR1C1 = "=RANDBETWEEN(1,5)"
Next Cowsrng
Next Daterng
Next Programrng
End With
End Sub
这是立即窗口中显示的片段。
6 1 False
6 1 False
6 2 False
6 2 False
6 2 False
6 2 False
6 2 False
6 3 False
6 3 False
我不认为 False 是 RANDBETWEEN 的一个好的回应,我注意到它从 6 开始,而不是从 1 开始。
任何建议我可以如何改进这一点,谢谢,彼得。