将单元格内容(包括背景)从一张纸复制到另一张纸

将单元格内容(包括背景)从一张纸复制到另一张纸

我有一张包含姓名列表的主记录表。这些姓名都是使用以下公式从其他 10 个单独组表中的绝对值复制而来:='C3'!A19

工作表名称为;主工作表、A1、A2、B1、B2 .....

值已复制,但单元格背景颜色的格式尚未复制,而且我没有 VB 代码经验。我尝试了几段代码,但玩了一会儿后,还是无法让它们按我想要的方式工作。

由于名称取自一张工作表,且与主记录(A1 工作表除外)不完全对齐,我尝试使用 IF(MATCH 函数,但无法使其正常工作。我还设法使用格式刷工具使其工作 - 但这只能一次性起作用 - 并且组名颜色每天都在变化。

欢迎任何建议:)

不使用 VBA \ Macros(即仅使用公式)可以做到这一点吗?

答案1

我认为你需要一个宏。

这将适用于真正简单的公式,例如:

 ='C3'!A19

它会不是适用于如下公式:

 ='C3'!A19+1

将以下宏放入标准模块中:

Sub KopyFormat()
    Dim cell As Range, sourze As Range, s As String

    For Each cell In Selection
        If cell.HasFormula Then
            s = Mid(cell.Formula, 2)
            Set sourze = Range(s)
            sourze.Copy
            cell.PasteSpecial xlPasteFormats
        End If
    Next cell
End Sub

然后选择您想要处理的公式单元格并运行宏。

宏很容易安装并使用:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

消除宏:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

使用Excel 窗口中的宏:

  1. ALT-F8
  2. 选择宏
  3. 触摸运行

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

必须启用宏才能使其工作!

相关内容