以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 复制上一行数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23883) |
-- 作者:hawkerwin -- 发布时间:2012/9/22 17:16:00 -- 复制上一行数据 需要选中下一行的时候按快捷键自动复制上一行对应列的数据,写了两种方法: 方法1: Dim dr As Row = CurrentTable.Current With CurrentTable If dr.Index >= 1 Then For Each dr1 As Row In CurrentTable.Rows If dr1.Index =dr.Index-1 Then dr(.ColSel)=dr1(.Colsel) End If Next End If End With 方法2: Dim dr As Row = CurrentTable.Current Dim dr1 As Row With CurrentTable if .Position>=1 then .Position = .position -1 dr1 =CurrentTable.Current dr(.colsel)=dr1(.colsel) .Position = .position +1 end if End With 但是都只能针对单独的单元格,如果需要在第二行选择多个单元格的时候也能自动复制第一行的对应列数据需要怎么写代码?
|
-- 作者:lin_hailun -- 发布时间:2012/9/22 17:37:00 -- 这样写,自己加一个判断 Dim pre_row As Row = CurrentTable.Rows(CurrentTable.Current.Index - 1) Dim curr_row As Row = CurrentTable.Current For i As Integer = CurrentTable.LeftCol To CurrentTable.RightCol curr_row(i) = pre_row(i) Next |
-- 作者:hawkerwin -- 发布时间:2012/9/22 19:03:00 -- 谢谢 lin_hailun 问题解决了,原来可以CurrentTable.Rows(CurrentTable.Current.Index - 1) 这样直接定义上一行,我弄个了半天搞太复杂了 ,还得认真学习啊 |