如何从开始号码和结束号码创build一个列表
我有一组数字:
| AB -------------- 1| 100 102 2| 103 103 3| 104 105 4| 106 110
列A是开始号码,列B是结束号码。 我们需要根据来自第一行(A1和B1)的第一组数据,使用列A和BEg的开始编号和结束编号创build一个数字列表(在单独的单元格上),第一组数字将是:100,101,102 ,然后进入第2行,在102之后放103,移到第3行,展开列表并显示104和105,然后到最后一行列出105,106,107,108,109,110。
我们应该能够标记列表的数字的开始,以便我们知道每个列表的开始。 即列A中列出的所有号码都应标出。
不知道我完全理解你的问题,但我想你想把这个:
100 102 103 103 104 105 106 110
进入这个?
100 102 100,101,102 103 103 103 104 105 104,105 106 110 106,107,108,109,110
如果是这样,下面的代码将实现这一点:
Private Sub getListsOfNumbers() Dim inputRange As String Dim x As Long Dim y As Long “获取数据的input范围 inputRange = InputBox(“input范围”,“开始”,“A1:A4”) “清除输出范围(两列偏移量) 范围(inputRange).Offset(0,2).ClearContents 用范围(inputRange) 循环input范围 对于x = 1到.Cells.Count “循环通过第二列和第一列之间的差异 对于y = 0 To(.Cells(x,2) - .Cells(x,1)) '将值添加到输出列 .Cells(x,3)= .Cells(x,3)&(.Cells(x,1)+ y)&“,” 下一个 '通过删除拖曳逗号来整理输出 .Cells(x,3)= CStr(Left(.Cells(x,3),Len(.Cells(x,3)) - 2)) 下一个x 结束 结束小组
如果我误解了您的请求,请告诉我。
编辑:刚刚尝试过这个真实的,并与较大的数据集,这将是一样慢可能预测。 如果你的数据有100行/ 1000行,和/或列A和B中的数字之间的差异比例大得多,那么你可能想要通过closures计算和screenUpdating来最小化延迟程序开始并恢复一次完成。
Excel的帮助有语法和示例来帮助你,如果你需要实现这一点。