作者:绿色风
分类:
时间:2022-08-17
浏览:182
楼主 kevinchengcw |
Q: 如何用vba代码合并单元格后保留原有数据?(仿格式刷方法) A: 代码如下:
- Sub test()
- Dim WS As Worksheet, DialogSheet As Worksheet, Rng As Range
- On Error GoTo Skip '设置出错跳转
- Set Rng = Application.InputBox("请选择单元格区域:", , , , , , , 8) '取得要操作的单元格范围
- Application.ScreenUpdating = False '关闭一些事件和功能,提高效率(为了通用性,使用了复制表的功能)
- Application.DisplayAlerts = False
- Application.Calculation = xlCalculationManual
- If Rng.Cells.Count = 1 Then '判断是否是选择了多个单元格
- Exit Sub
- Else
- Set WS = ActiveSheet '将当前工作表指定给变量
- WS.Copy after:=WS '为当前工作表创建个副本
- Set DialogSheet = ActiveSheet '将复制的工作表赋值给变量
- With DialogSheet.Range(Rng.Address) '对复制的工作表里的对应区域进行合并操作后复制
- .Merge
- .Copy
- End With
- With WS '激活源工作表并粘贴格式(关键点:Operation:=xlNone)
- .Activate
- Rng.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
- End With
- Application.CutCopyMode = False '清空剪贴板(养成好习惯)
- DialogSheet.Delete '删除工作表副本
- End If
- Skip:
- Application.Calculation = xlCalculationAutomatic '恢复关闭的功能
- Application.DisplayAlerts = True
- Application.ScreenUpdating = True
- End Sub
|
2楼 い卋玑┾宝珼 |
向K版学习VBA |
3楼 gaokaozhu |
下载使用了谢谢 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一