以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何快捷倒序填充  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=69568)

--  作者:shaonvdy
--  发布时间:2015/6/7 13:41:00
--  [求助]如何快捷倒序填充

如何选中KJ150522T55-06下拉后快捷倒序填充得到以下结果

 

生产批号

KJ150522T55-06

KJ150522T55-05

KJ150522T55-04

KJ150522T55-03

KJ150522T55-02

KJ150522T55-01

[此贴子已经被作者于2015/6/7 13:41:03编辑过]

--  作者:大红袍
--  发布时间:2015/6/7 14:22:00
--  
 在什么情况下的下拉?通过什么设置的?
--  作者:shaonvdy
--  发布时间:2015/6/7 14:31:00
--  

就是和序列填充一样的选中单元格,通过按快捷键设置,最后两位数字自动倒序

[此贴子已经被作者于2015/6/7 14:32:56编辑过]

--  作者:大红袍
--  发布时间:2015/6/7 14:43:00
--  
 Dim tr As Row = CurrentTable.Rows(CurrentTable.TopPosition)
Dim idx As Integer = tr(CurrentTable.ColSel).IndexOf("-")
If idx > -1 Then
    Dim lstr As String = tr(CurrentTable.ColSel).Substring(0, idx+1)
    Dim rstr As String =  tr(CurrentTable.ColSel).Substring(idx+1)
    For i As Integer = CurrentTable.TopPosition + 1 To CurrentTable.BottomPosition
        CurrentTable.Rows(i)(CurrentTable.ColSel) = lstr & Format(val(rstr)+i-CurrentTable.TopPosition , "00")
    Next
End If
[此贴子已经被作者于2015/6/7 14:42:58编辑过]

--  作者:shaonvdy
--  发布时间:2015/6/7 15:15:00
--  

代码放到位置阿?


--  作者:大红袍
--  发布时间:2015/6/7 15:16:00
--  
单独做一个按钮,或者菜单
--  作者:shaonvdy
--  发布时间:2015/6/7 15:37:00
--  
可以了,但是是正序的,能倒序填充吗
--  作者:大红袍
--  发布时间:2015/6/7 15:40:00
--  
Dim tr As Row = CurrentTable.Rows(CurrentTable.TopPosition)
Dim idx As Integer = tr(CurrentTable.ColSel).IndexOf("-")
If idx > -1 Then
    Dim lstr As String = tr(CurrentTable.ColSel).Substring(0, idx+1)
    Dim rstr As String =  tr(CurrentTable.ColSel).Substring(idx+1)
    For i As Integer = CurrentTable.TopPosition + 1 To CurrentTable.BottomPosition
        CurrentTable.Rows(i)(CurrentTable.ColSel) = lstr & Format(val(rstr)-i-CurrentTable.TopPosition , "00")
    Next
End If

--  作者:shaonvdy
--  发布时间:2015/6/7 15:57:00
--  
不行。 结果如下 KJ150505B33-10 KJ150505B33-5359 KJ150505B33-5360 KJ150505B33-5361
--  作者:大红袍
--  发布时间:2015/6/7 16:00:00
--  
Dim tr As Row = CurrentTable.Rows(CurrentTable.TopPosition)
Dim idx As Integer = tr(CurrentTable.ColSel).IndexOf("-")
If idx > -1 Then
    Dim lstr As String = tr(CurrentTable.ColSel).Substring(0, idx+1)
    Dim rstr As String =  tr(CurrentTable.ColSel).Substring(idx+1)
    For i As Integer = CurrentTable.TopPosition + 1 To CurrentTable.BottomPosition
        CurrentTable.Rows(i)(CurrentTable.ColSel) = lstr & Format(val(rstr)-i-CurrentTable.TopPosition , "".PadLeft(rstr.Length,"0"))
    Next
End If