以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何快捷倒序填充 (http://foxtable.net/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 |