Foxtable(狐表)用户栏目专家坐堂 → [求助]选定单元格能连续左移和右移


  共有2614人关注过本帖树形打印复制链接

主题:[求助]选定单元格能连续左移和右移

帅哥哟,离线,有人找我吗?
tygzjsl
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
[求助]选定单元格能连续左移和右移  发帖心情 Post By:2024/5/30 21:06:00 [显示全部帖子]

大神老师,如何选定单元格能连续左移和右移,也就是能通过按钮点击能左移或右移,调整专业顺序,专业代码和专业名称一起移动,求按钮点击代码,感谢大神老师图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:123.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2024/5/30 21:10:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 8:36:00 [显示全部帖子]

非常感谢老师,那么右移怎么改,全指望你啦图片点击可在新窗口打开查看
dim t as table = tables("表A")
dim r as row = t.current
dim n as integer = t.colsel
dim c as col = t.cols(n)
if c.name like "*专业_*" andalso not(c.name like "第六专业_*") then
if c.name like "*_专业名称" then
n = n -1
c = t.cols(n)
end if
dim s1 as string = r(n-2)
dim s2 as string = r(n-1)
r(n-2) = r(n)
r(n-1) = r(n+1)
r(n) = s1
r(n+1) = s2
end if

 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 8:38:00 [显示全部帖子]

然后老师你在帮我看一下这个呗

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20240530195938.jpg
图片点击可在新窗口打开查看
大神老师,想把除某些列外选定行连续上或下移动,按钮事件代码怎么改啊

Dim cs() As String = {"批次", "序号"}

Dim cr As Row = Tables("表A").Current
If cr IsNot Nothing AndAlso cr.Index < Tables("表A").Rows.Count - 1 Then
    Dim nr As Row = Tables("表A").Rows(cr.Index + 1)
    For Each c As String In cs
        Dim temp As String = nr(c)
        nr(c) = cr(c)
        cr(c) = temp
    Next
End If

要把选定行除批次和序号这两列外其它列内容能连续上移或下移(上移按钮和下移按钮事件),这个怎么改图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 9:02:00 [显示全部帖子]

你真的是一个好老师!!!!图片点击可在新窗口打开查看
Dim t As Table = Tables("填报表")
Dim r As Row = t.current
Dim n As Integer = t.colsel
Dim c As Col = t.cols(n)
If c.name Like "*专业_*" AndAlso not(c.name Like "第六专业_*") Then
If c.name Like "*_专业名称" Then
n = n -1
c = t.cols(n)
End If

Dim s1 As String = r(n+2)
Dim s2 As String = r(n+3)
r(n+2) = r(n) 
r(n+3) = r(n+1)
r(n) = s1
r(n+1) = s2
End If

 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 9:25:00 [显示全部帖子]

With CurrentTable
    .Current.Move(.Position - 1)
End With
这个代码!但要除了批次和序号不动,只动其它怎么改,谢谢图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 9:29:00 [显示全部帖子]

上移是这个代码
With CurrentTable
    .Current.Move(.Position - 1)
End With

下移是+1,但要除了批次和序号内容不动,只移动其它行内容怎么改,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 9:40:00 [显示全部帖子]

Dim cs() As String = {"批次", "序号"}

Dim cr As Row = Tables("表A").Current
If cr IsNot Nothing AndAlso cr.Index < Tables("表A").Rows.Count - 1 Then
    Dim nr As Row = Tables("表A").Rows(cr.Index + 1)
    For Each c As String In cs
        Dim temp As String = nr(c)
        nr(c) = cr(c)
        cr(c) = temp
    Next
End If

这个代码,只移动了批次和序号,其它没动,把所有要移动的加到 {"批次", "序号"}这里,太多了,能优化一下吗!

 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 10:05:00 [显示全部帖子]

感谢大神老师了,耐心的回答,就按这个改,两次感谢 图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 10:26:00 [显示全部帖子]

对了,老师,还有一个问题,上移或下移,左移或右移,连续调整的话,总是需要选中下调整,不然总是上下左右切换。能把最开始
图片点击可在新窗口打开查看此主题相关图片如下:5.jpg
图片点击可在新窗口打开查看
选中的行连续调整吗,感谢老师!图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
tygzjsl
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 11:00:00 [显示全部帖子]

不是啊,比如我选中上楼的第四行,选中标志总是第四行啊,所以总是上下调整,我说明白了吗,谢谢!图片点击可在新窗口打开查看

 回到顶部
总数 14 1 2 下一页