以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 为什么循环的数据不准确? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=130388) |
||||
-- 作者:ybmjy -- 发布时间:2019/1/20 22:24:00 -- 为什么循环的数据不准确?
DataTables("考勤表").Save() For Each dr As Row In Tables("考勤表").Rows Dim sj As Integer = 31-dr("合计") Dim m As Integer Dim i As Integer = 1 Do While i <= sj m= rand.Next(1,31) dr("A"&m) = 1 i = i + 1 Loop Next 问题是:一样的数据有的行是正确的,有的行会少
[此贴子已经被作者于2019/1/20 22:28:49编辑过]
|
||||
-- 作者:bohe -- 发布时间:2019/1/20 22:34:00 -- 不明白楼主的意思 [此贴子已经被作者于2019/1/20 22:35:56编辑过]
|
||||
-- 作者:ybmjy -- 发布时间:2019/1/20 22:49:00 -- 在每行的31列中随机写入31-合计数(如25)= 5个1 ,也就是向31列中随机写入5个1 |
||||
-- 作者:bohe -- 发布时间:2019/1/21 9:24:00 -- 你的随机整数没有判断重复值的情况 |
||||
-- 作者:有点甜 -- 发布时间:2019/1/21 9:39:00 -- DataTables("考勤表").Save() For Each dr As Row In Tables("考勤表").Rows For i As Integer = 1 To 31 dr("A" & i) = Nothing Next Dim sj As Integer = 31-dr("合计") Dim ls As new List(of String) For i As Integer = 1 To sj Dim m= rand.Next(1,31) Do until ls.contains(m) = False m= rand.Next(1,31) Loop ls.add(m) dr("A"&m) = 1 Next Next |
||||
-- 作者:ybmjy -- 发布时间:2019/1/21 11:40:00 -- 谢谢,非常感谢 |
||||
-- 作者:ybmjy -- 发布时间:2020/2/8 19:50:00 -- DataTables("考勤表").Save() For Each dr As Row In Tables("考勤表").Rows For i As Integer = 1 To 31 dr("A" & i) = Nothing Next Dim sj As Integer = 31-dr("合计") Dim ls As new List(of String) For i As Integer = 1 To sj Dim m= rand.Next(1,31) Do until ls.contains(m) = False m= rand.Next(1,31) Loop ls.add(m) dr("A"&m) = 1 Next Next 以上这段代码在EXCEL中用VBA该如何写
|
||||
-- 作者:有点蓝 -- 发布时间:2020/2/9 21:17:00 -- 我不懂vba。但是我知道DataTable、table在EXCEL的vba里面肯定是用不了的 |