VBA: 不连续单元格区域复制粘贴为数值

VBA: 不连续单元格区域复制粘贴为数值,第1张

文章背景: 处理表格时,有时需要选中单元格区域,将区域内单元格的公式复制粘贴为数值。如果是连续的单元格区域,这样的操作是可行的。如果是不连续的单元格区域,这样的操作会报错。

VBA: 不连续单元格区域复制粘贴为数值,图片,第2张

针对不连续的单元格区域,可以通过编写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

效果演示:

VBA: 不连续单元格区域复制粘贴为数值,第3张
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VBA: 不连续单元格区域复制粘贴为数值

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情