ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用vba代码合并单元格后保留原有数据?(仿格式刷方法)

如何用vba代码合并单元格后保留原有数据?(仿格式刷方法)

作者:绿色风 分类: 时间:2022-08-17 浏览:150
楼主
kevinchengcw
Q: 如何用vba代码合并单元格后保留原有数据?(仿格式刷方法)
A: 代码如下:
  1. Sub test()
  2. Dim WS As Worksheet, DialogSheet As Worksheet, Rng As Range
  3. On Error GoTo Skip  '设置出错跳转
  4. Set Rng = Application.InputBox("请选择单元格区域:", , , , , , , 8)     '取得要操作的单元格范围
  5. Application.ScreenUpdating = False  '关闭一些事件和功能,提高效率(为了通用性,使用了复制表的功能)
  6. Application.DisplayAlerts = False
  7. Application.Calculation = xlCalculationManual
  8. If Rng.Cells.Count = 1 Then '判断是否是选择了多个单元格
  9.     Exit Sub
  10. Else
  11.     Set WS = ActiveSheet    '将当前工作表指定给变量
  12.     WS.Copy after:=WS   '为当前工作表创建个副本
  13.     Set DialogSheet = ActiveSheet   '将复制的工作表赋值给变量
  14.     With DialogSheet.Range(Rng.Address)    '对复制的工作表里的对应区域进行合并操作后复制
  15.         .Merge
  16.         .Copy
  17.     End With
  18.     With WS     '激活源工作表并粘贴格式(关键点:Operation:=xlNone)
  19.         .Activate
  20.         Rng.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
  21.     End With
  22.     Application.CutCopyMode = False '清空剪贴板(养成好习惯)
  23.     DialogSheet.Delete  '删除工作表副本
  24. End If
  25. Skip:
  26. Application.Calculation = xlCalculationAutomatic    '恢复关闭的功能
  27. Application.DisplayAlerts = True
  28. Application.ScreenUpdating = True
  29. End Sub
2楼
い卋玑┾宝珼
向K版学习VBA
3楼
gaokaozhu
下载使用了谢谢

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap