Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]关于EXCEL合并单元格

李妮  发表于:2009-07-28 10:32:33  
复制

大家好!

   请问下我用VBA把数据导出到EXCEL表,导出后有些姓名出现重复现象,因为其他字段不一样,我能否通过什么方法让重复的姓名自动合并单元格呢? 不要重新在EXCEL中合并!谢谢大家!

 

Top
雪风 发表于:2009-07-28 11:52:08
我也想知道.知道的老师们不要保守哦!

钱玉炜 发表于:2009-07-28 12:42:10

姓名虽然重复,但是姓名相同的不是重复数据,所以不能按照一条记录来处理



点燃一支烟 发表于:2009-07-28 14:50:19

从access导出到excel,因为虽然姓名不同但却不是各字段完全一样的重复记录,所以肯定会被视作的不同记录被导出的(因为你毕竟要保留其他不同的字段),你要图省事不想在excel里面手动合并单元格的话,估计代码不应该在access里面写,而是要在excel里面写了,即:在excel里面建立一按纽,点击它将相邻姓名单元格一致的做合并,呵呵,我想那是excel的vba代码而不是access的代码要干的事情。



点燃一支烟 发表于:2009-07-28 15:54:34

硬要在access里面导出到excel成你需要的样子,估计可能要用“导出报表”的方式,把报表作成你需要的样子,再导出,看能实现不,我没试过,你可以尝试一下,呵呵



点燃一支烟 发表于:2009-07-28 18:11:46
点击下载此附件提供示例一个,该示例中有原表、新表两张表,在原表中执行“宏”--test(),可自动合并单元格,变成新表的样子,在excel的代码大致是这个思路

点燃一支烟 发表于:2009-07-29 09:11:48
合并同列内容相同的单元格点击下载此附件

点燃一支烟 发表于:2009-07-29 09:59:46

Sub 选中列并合并该列相邻且内容相同的单元格()
Dim i, j, k As Double
i = ActiveCell.Row
k = i
j = ActiveCell.column
Application.DisplayAlerts = False
Do Until Cells(i, j).Value = ""
    If Cells(i + 1, j).Value <> Cells(i, j).Value Then
        Range(Cells(k, j), Cells(i, j)).Merge
        k = i + 1
    End If
    i = i + 1
Loop
Application.DisplayAlerts = True

End Sub

说明:再给你示例这种方法,在excel里面录制一个“宏”(在模块里),宏名自定义(这里取作“选中列并合并该列相邻且内容相同的单元格”),将上述代码复制进去。具体使用方法:比方说你要合并A列中内容一致且邻近的单元格,则选中A列,再“工具”--“宏”--“宏”,执行你刚才定义的宏就可以了,当然,你还可以自建一按钮,通过点击按钮来执行该宏。



李妮 发表于:2009-07-29 11:25:01
谢谢老师门的热心帮忙,dengshaobin老师6楼和7楼的答案我正在测试中,先谢谢老师!

总记录:8篇  页次:1/1 9 1 :