ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 339|回复: 8

[求助] 求一个批量处理相同内容合并的代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-1-19 15:04 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
有没有批量处理课程表中相同内容合并单元格的工具,
因为班级很多,导致类似的课程表也超级多。


我提供原始的表如下:

Z23计算机1.zip (9.42 KB, 下载次数: 43)

我最终需要的效果是:

需要的效果表.zip (9.59 KB, 下载次数: 13)

TA的精华主题

TA的得分主题

发表于 2024-1-19 15:27 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-1-19 15:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
批量合并单元格.rar (17.02 KB, 下载次数: 15)

TA的精华主题

TA的得分主题

发表于 2024-1-19 18:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. Sub 合并相同课程()
  2. Application.DisplayAlerts = False
  3. Dim i%, j%, irow%, k%
  4. Dim rng As Range
  5. irow = Range("a1000").End(xlUp).Row

  6. For i = 2 To 7
  7.     k = 0
  8.     For j = 5 To irow + 1
  9.         If Cells(j, i) = Cells(j - 1, i) Then
  10.             k = k + 1
  11.         End If
  12.         If Cells(j, i) <> Cells(j - 1, i) And k > 0 Then
  13.             Set rng = Range(Chr(i + 64) & j - 1 - k & ":" & Chr(i + 64) & j - 1)
  14.             rng.HorizontalAlignment = xlCenter
  15.             rng.VerticalAlignment = xlCenter
  16.             rng.Merge
  17.             k = 0
  18.         End If
  19.         If k > 1 And Cells(j - 1, i) = "" And j = irow + 1 Then
  20.             Set rng = Range(Chr(i + 64) & j - k & ":" & Chr(i + 64) & j - 1)
  21.             rng.Merge
  22.         End If
  23.     Next j
  24. Next i
  25. Application.DisplayAlerts = True
  26. End Sub
复制代码


TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-20 09:24 | 显示全部楼层
本帖最后由 monvzhilei 于 2024-1-20 10:00 编辑

您好,这个基本满足要求,不过还有一点就是如何能自动调整行高?合并内容以后,有很多是行高太高了。
我添加了这个代码:Selection.Rows(i).AutoFit,不过还是无法真正的自动调整行高。好多内容还是隐藏了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-20 10:07 | 显示全部楼层

我测试了一下,这个代码也是基本符合要求。就是如何才能真正的自动调整行高?我指的是合并以后,调整行高。

TA的精华主题

TA的得分主题

发表于 2024-1-20 11:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
monvzhilei 发表于 2024-1-20 09:24
您好,这个基本满足要求,不过还有一点就是如何能自动调整行高?合并内容以后,有很多是行高太高了。
我 ...

论坛内有一个帖子是批量调整自动行高的,我不记得了,你自己查找一下。

TA的精华主题

TA的得分主题

发表于 2024-1-20 11:07 | 显示全部楼层
2024-01-20_110633.png

供参考,自己整合一下到批量合并代码中,就可以一键完成了

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-20 12:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lizhipei78 发表于 2024-1-20 11:07
供参考,自己整合一下到批量合并代码中,就可以一键完成了

我这个复制过去,结果全部隐藏了。奇怪了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 05:25 , Processed in 0.046688 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表