以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  老师帮忙看看程序哪有问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91111)

--  作者:wh420
--  发布时间:2016/9/29 16:29:00
--  老师帮忙看看程序哪有问题
软件功能是DICT.xls的字典中找到内容并填充到test20.xlsx文件中,程序可正常执行,但结果不对,填充后多了些重复的内容。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目35.rar



--  作者:wh420
--  发布时间:2016/9/29 16:33:00
--  
程序正确的结果应该是实现在对应的单元格内容后加分隔符”|“再加上外语内容,而不是在其他空白列填充内容。
--  作者:wh420
--  发布时间:2016/9/29 16:34:00
--  

正确结果如下图

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


--  作者:sloyy
--  发布时间:2016/9/29 16:35:00
--  
既然知道错误出在哪,就应该知道如何改正
--  作者:wh420
--  发布时间:2016/9/29 16:39:00
--  
至于错在哪还请指教,我还真是没有找到原因。
--  作者:wh420
--  发布时间:2016/9/29 17:05:00
--  
不知道什么原因会把符合条件的内容都填充到了空白A列,而不是填充到现有内容的单元格
--  作者:有点蓝
--  发布时间:2016/9/29 17:46:00
--  
ws.cells(i, j).Value = ary(i,j) & "|" & dic(ary(i,j).ToLower.Replace(" ","").Replace(chr(10), "").Replace(chr(13), ""))

改为

rg(i, j).Value = ary(i,j) & "|" & dic(ary(i,j).ToLower.Replace(" ","").Replace(chr(10), "").Replace(chr(13), ""))

--  作者:wh420
--  发布时间:2016/11/2 11:41:00
--  

rg(i,j+1).value = dic(ary(i,j).ToLower.Replace(" ","").Replace(chr(10), "").Replace(chr(13), ""))

以上代码,如果是处理合并的单元格没有效果。
J+1是在其当前单元格右边一列,如何判断多个单元格合并后右边的那一列?(如:判断A列、B列、C列是合并的单元格,我希望到D列去赋值


--  作者:wh420
--  发布时间:2016/11/2 12:09:00
--  
老师帮忙给看看
--  作者:有点色
--  发布时间:2016/11/2 12:48:00
--  

判断合并单元格很简单

 

If rg(i, j).MergeCells Then

    msgbox(rg(i, j).MergeArea.Columns.count)

End If