04 其他
清除条件格式但保留其格式样式
在Excel中,您可以用条件格式根据特定条件来设置单元格或行的格式。但在某些情况下,您可能希望删除条件格式规则,但仅保留单元格中的格式。
在VBA基础🔗十五、进阶知识中,关于Office协同的的示例中有过简单说明,就是通过:“从Excel数据表中把内容写入到Word,在从Word写入到的Excel数据表中的两个过程”实现剔除条件格式、又实现了格式的保留!
示例展示Office协同,没有考虑其他。其实这个小的技巧完全可以通过复制、粘贴实现,而不必通过VBA代码。也感谢网友提醒纠正,这里同步另外一个实现它的简单方法!
视频1:
删除条件格式但保留其格式样式的复制+粘贴操作:
视频2:
删除条件格式但保留其格式的VBA代码(Office协同)操作:
源码下载:
示例代码
复制成功!
1
'利用Word的把表格黏贴进文档时、不会改变单元格、文字的设置的特性,创建一个临时word文档作为中间的承接点
Sub 选择区域()
'-----------------------------------------------------------------------
'自定义数据类型
Dim Choose_rng As Range
Dim wdap
On Error Resume Next
'选择需要设置的单元格区域
Set Choose_rng = Application.InputBox("选择需要设置的单元格或单元格区域", Type:=8)
If WorksheetFunction.CountA(Choose_rng) = 0 Then MsgBox "选择单元格区域为空": Exit Sub
On Error GoTo 0
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'利用Word的把表格黏贴进文档时、不会改变单元格、文字的设置的特性,创建一个临时word文档作为中间的承接点
Set wdap = CreateObject("Word.Application")
With wdap
.Visible = True
.Documents.Add '添加一个word表
End With
Choose_rng.Copy '复制表黏贴到Word文档
wdap.Selection.Paste
wdap.Selection.WholeStory '复制word文档的内容,黏贴到新表
wdap.Selection.Copy
ThisWorkbook.Sheets.Add after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Sheets(Sheets.Count).Name = "复制表存放"
ThisWorkbook.Sheets("复制表存放").Range("A1").Select
ActiveSheet.Paste
wdap.Documents.Close False
wdap.Quit
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "完成"
End Sub
请开发者喝杯咖啡!