以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]合并单元格代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62448)

--  作者:ZHX88863808
--  发布时间:2015/1/1 13:15:00
--  [求助]合并单元格代码

表A中如果第一列为A,第二列也为A,则第三列为A

       如果第一列为A,第二列为B,则第三列为A,B

       如果第一列为B,第二列为B,则第三列为B

       如果第一列为C,第二列为D,则第三列为C,D

按上面这个规则,请各位前辈老师写个代码,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:合并单元格.table


--  作者:czy
--  发布时间:2015/1/1 13:20:00
--  
表达式列的话可以这样

iif([第一列] = [第二列],[第一列],[第一列] + \',\' + [第二列])

--  作者:ZHX88863808
--  发布时间:2015/1/1 13:23:00
--  

谢谢老师!


--  作者:czy
--  发布时间:2015/1/1 13:26:00
--  
看错了,你要的是代码

代码可以这样

If e.DataCol.name = "第一列" OrElse e.DataCol.name = "第二列"
    If e.DataRow("第一列") = e.DataRow("第二列")
        e.DataRow("第三列") = e.DataRow("第一列") & "," & e.DataRow("第二列")
    Else
        e.DataRow("第三列") = e.DataRow("第一列")
    End If
End If

--  作者:ZHX88863808
--  发布时间:2015/1/1 13:42:00
--  

老师:上面这个代当第二和第一列一样时,会出现重复(即当第一列是A,第二列是A ,第三列是A,A


--  作者:逛逛
--  发布时间:2015/1/1 13:46:00
--  

你自己把代码换一下,就行了。

 

If e.DataCol.name = "第一列" OrElse e.DataCol.name = "第二列"
    If e.DataRow("第一列") = e.DataRow("第二列")
        e.DataRow("第三列") = e.DataRow("第一列")
    Else
        e.DataRow("第三列") = e.DataRow("第一列") & "," & e.DataRow("第二列")
    End If
End If

--  作者:ZHX88863808
--  发布时间:2015/1/1 13:55:00
--  

谢谢老师,这里我还想有个问题,如果第一列为A,第二列为**,第三列为A

                                                           第一列为B,第二列为B.则第三列为B

                                                           第一列为C,第二列为D则第三列为C,D

请问上面这个规则代码怎么写,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:合并单元格a.table


--  作者:ZHX88863808
--  发布时间:2015/1/1 15:32:00
--  

老师:上面这个规则的代码是不是不好写?

 


--  作者:czy
--  发布时间:2015/1/1 15:48:00
--  
If e.DataCol.name = "第一列" OrElse e.DataCol.name = "第二列"
    If e.DataRow("第一列") = e.DataRow("第二列")
        e.DataRow("第三列") = e.DataRow("第一列")
    Else
        If e.DataRow("第二列") = "**"
            e.DataRow("第三列") = e.DataRow("第一列")
        Else
            e.DataRow("第三列") = e.DataRow("第一列") & "," & e.DataRow("第二列")
        End If
    End If
End If

--  作者:ZHX88863808
--  发布时间:2015/1/1 16:00:00
--  
谢谢老师!