Office中国论坛/Access中国论坛

标题: 求助:求大大们帮助我做个模版,万分感谢了! [打印本页]

作者: hljlxddz    时间: 2016-5-26 19:47
标题: 求助:求大大们帮助我做个模版,万分感谢了!
电子表格里,A列,是序号,1至10000,B列,是现在有编号,但不是连续的,从1开始,或是从大于1的数开始,显示编号,类似下面的编 号,然后想在C列,显示出B列没有的编 号,232397000002——232397000003 ………………4  ……………………5  到232397001234,232397001240,232397001242,可以显示一万行232397009999结束就可以。B列的内容,我可以自己变动改变,我换成232300560001,也能继续使用,在C列显示232300560002这样的数
232397000001
232397001235
232397001241
232397002345
232397004455
给大大们添麻烦了,

作者: hljlxddz    时间: 2016-5-26 19:49
刚才没有上传附件

作者: roych    时间: 2016-6-1 09:11
写了一个自定义函数。不过没有进行错误处理
  1. Function GetData(ByVal rngBegin As Range, ByVal rngEnd As Range)
  2.     Dim dblBegin As Double, dblEnd As Double
  3.     Dim i As Double, s As String
  4.    
  5.     dblBegin = CDbl(rngBegin.Value)
  6.     dblEnd = CDbl(rngEnd.Value)
  7.     For i = dblEnd - 1 To dblBegin + 1 Step -1
  8.         s = i & "," & s
  9.     Next i
  10.     GetData = Left(s, Len(s) - 1)
  11. End Function
复制代码

[attach]59221[/attach]
所以最好加上ISError进行错误处理,例如:
=IF(ISERROR(GetData(B6,B7)),"",GetData(B6,B7))
[attach]59222[/attach]
作者: hljlxddz    时间: 2016-6-3 07:52
roych 发表于 2016-6-1 09:11
写了一个自定义函数。不过没有进行错误处理

这个是怎么操作可以显示到C列呀??
然后那个没有的空号,可不可以,都是坚排显示到C列,这样方便我排列,谢谢
作者: roych    时间: 2016-6-3 09:37
hljlxddz 发表于 2016-6-3 07:52
这个是怎么操作可以显示到C列呀??
然后那个没有的空号,可不可以,都是坚排显示到C列,这样方便我排列 ...

你可以按f复制/选择性粘贴,然后按逗号分列,再复制/选择性粘贴/转置到C列的。
顺便说一下,当数据比较多的时候,一列不一定排得下来。
作者: pureshadow    时间: 2016-6-4 13:58
啥都用VBA~VBA好辛苦啊~
作者: pureshadow    时间: 2016-6-9 17:57
有点脑残,弄了个复杂的法子,再补个简单点的:

作者: Figueroa    时间: 2016-6-22 16:41
大姐大出场了,问题应声解决。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3