VBA: 不连续单元格区域复制粘贴为数值
文章背景: 处理表格时,有时需要选中单元格区域,将区域内单元格的公式复制粘贴为数值。如果是连续的单元格区域,这样的操作是可行的。如果是不连续的单元格区域,这样的操作会报错。
针对不连续的单元格区域,可以通过编写VBA代码的方式实现。
以下代码实现的功能是:针对选中的不连续的单元格区域,(1) 将单元格内的公式复制粘贴为数值;(2) 将单元格底色改为绿色。
Option ExplicitSub 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
效果演示:
0条评论