文章背景: 处理表格时,有时需要选中单元格区域,将区域内单元格的公式
复制粘贴为数值
。如果是连续的单元格区域,这样的操作是可行的。如果是不连续的单元格区域,这样的操作会报错。
针对不连续的单元格区域,可以通过编写VBA代码的方式实现。
以下代码实现的功能是:针对选中的不连续的单元格区域,(1) 将单元格内的公式复制粘贴为数值;(2) 将单元格底色改为绿色。
Option Explicit
Sub CopyPasteValue():
Dim Item As Range
For Each Item In Selection:
'复制,并粘贴为数值
Item.Copy
Item.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
'单元格底色设置为绿色, 以下代码通过录制宏的方式得到。
With Item.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
Next
End Sub
复制
效果演示:http://mpvideo.qpic.cn/0bc3uaacmaaa2yakjgbnojrfbigde2qaajqa.f10002.mp4?dis_k=0b32c9b52e10f8233551c7702c84b804&dis_t=1663656343&vid=wxv_2307830465048772611&format_id=10002&support_redirect=0&mmversion=false
参考资料:
[1] 不连续单元格如何复制贴成值(https://club.excelhome.net/thread-1416087-1-1.html)