You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调整现有VBA宏,使其同时复制单元格背景填充颜色

给VBA宏添加复制单元格背景颜色的功能

下面是修改后的完整代码,已实现同时复制单元格值与背景颜色的功能:

Sub test()
  Dim sh1 As Worksheet, sh As Worksheet
  Dim f As Range
  Dim j As Long, lr1 As Long, lr As Long

  Set sh1 = Sheets("Labor Mapping")
  
  With Sheets("Labor Mapping")
    .Rows(2 & ":" & .Rows.Count).Clear
  End With
  
  For Each sh In Sheets
    If sh.Name <> sh1.Name Then
      lr1 = sh1.Cells.Find("*", , xlValues, , xlByRows, xlPrevious).Row + 1
      lr = sh.Cells.Find("*", , xlValues, , xlByRows, xlPrevious).Row
      
      For j = 1 To sh.Cells(1, Columns.Count).End(xlToLeft).Column
        Set f = sh1.Rows(1).Find(sh.Cells(1, j), , xlValues, xlWhole, , , False)
        
        If Not f Is Nothing Then
          ' 复制单元格值
          sh1.Cells(lr1, f.Column).Resize(lr).Value = sh.Cells(2, j).Resize(lr).Value
          ' 复制单元格背景颜色
          sh1.Cells(lr1, f.Column).Resize(lr).Interior.Color = sh.Cells(2, j).Resize(lr).Interior.Color
        End If
      Next
    End If
  Next
  
  Sheets("Labor Mapping").Columns("G").Delete
End Sub

核心修改说明

  • 在原代码复制值的语句后,新增Interior.Color赋值逻辑,批量将源区域的背景颜色同步到目标区域
  • 把原代码中End(1)替换为官方枚举常量xlToLeft,提升代码可读性

内容的提问来源于stack exchange,提问作者Volrin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:56:42