Foxtable(狐表)用户栏目专家坐堂 → [求助]单元格调整2,内祥!


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

主题:[求助]单元格调整2,内祥!

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


加好友 发短信
等级:二尾狐 帖子:544 积分:7290 威望:0 精华:0 注册:2011/6/22 20:16:00
[求助]单元格调整2,内祥!  发帖心情 Post By:2017/7/27 14:32:00 [只看该作者]

内祥!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单元格调整_201707271429.zip



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 15:20:00 [只看该作者]

For Each r As Row In Tables("表A").Rows
    For Each c As Col In r.Table.Cols
        If r.IsNull(c.name) = False Then
            Dim n As Integer = -1
            For i As Integer = c.Index-1 To 0 Step -1
                If i = 0 AndAlso r.Isnull(i) Then
                    n = 0
                ElseIf r.IsNull(i) = False Then
                    n = i+1
                    Exit For
                End If
            Next
            If n > -1 Then
                Dim fdr As DataRow = DataTables("表B").find("行 = '" & r.index+1 & "' and 列 = '" & c.name & "'")
                If fdr Is Nothing Then
                    fdr = DataTables("表B").addnew
                    fdr("行") = r.Index+1
                End If
                fdr("列") = r.Table.Cols(n).name
                r(n) = r(c.name)
                r(c.name) = Nothing
            End If
        End If
    Next
Next

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


加好友 发短信
等级:二尾狐 帖子:544 积分:7290 威望:0 精华:0 注册:2011/6/22 20:16:00
  发帖心情 Post By:2017/7/27 15:35:00 [只看该作者]

放在计划管理里面,过一下表A就只留下a和d了,其他数据没了

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


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


加好友 发短信
等级:二尾狐 帖子:544 积分:7290 威望:0 精华:0 注册:2011/6/22 20:16:00
  发帖心情 Post By:2017/7/27 16:14:00 [只看该作者]

正常结果如下图:

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


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

[此贴子已经被作者于2017/7/27 16:15:10编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 17:01:00 [只看该作者]

For Each r As Row In Tables("表A").Rows
    For Each c As Col In r.Table.Cols
        If r.IsNull(c.name) = False Then
            Dim n As Integer = -1
            For i As Integer = c.Index-1 To 0 Step -1
                If i = 0 AndAlso r.Isnull(i) Then
                    n = 0
                ElseIf r.IsNull(i) = False Then
                    If r.Isnull(i+1) Then
                        n = i+1
                    End If
                    Exit For
                End If
            Next
            If n > -1 Then
                Dim fdr As DataRow = DataTables("表B").find("行 = '" & r.index+1 & "' and 列 = '" & c.name & "'")
                If fdr Is Nothing Then
                    fdr = DataTables("表B").addnew
                    fdr("行") = r.Index+1
                End If
                fdr("列") = r.Table.Cols(n).name
                r(n) = r(c.name)
                r(c.name) = Nothing
            End If
        End If
    Next
Next

 回到顶部