将单元格内容从一个工作簿复制并粘贴到另一个工作簿会丢失颜色格式

将单元格内容从一个工作簿复制并粘贴到另一个工作簿会丢失颜色格式

我正在使用宏将单元格内容(数字数据和数字的颜色格式)从一个工作簿复制到另一个工作簿,但它没有传输颜色格式。

我有两本工作簿:

  1. 包含客户科学数据的工作簿(TLC 评估 4 个发现)
  2. 第一个工作簿中的一些数据以更方便用户使用的形式显示。数据有三种颜色:黑色 = 正常、红色 = 超出范围、蓝色 = 在范围内。

我已将一个宏分配给第二个工作簿中的一个按钮,该按钮可从第一个工作簿中提取数据。除了不会复制与数据相关的颜色外,它完全可以复制数据。

宏基本上是:

  1. 使用以下公式输入工作簿 2 中的第一个单元格:
    ='[TLC Assess 4 Findings.xls]Report'!$E$9
  2. 转到下一个单元格并对要复制的部分中的所有单元格执行相同操作。
  3. 结束宏。

按下按钮,所有数据都正确显示,但颜色不正确。它要么是黑色,要么是工作簿 2 中该单元格之前使用的颜色。

我也尝试过“复制”和“选择性粘贴”,结果相同。我也尝试过“格式刷”。

如何在宏中复制数据以及颜色格式?

答案1

我不确定您的代码是什么样的,或者工作簿 1 中是否有任何未被正确复制的条件格式;但这里有一种方法可以将一个工作簿中单元格的格式“复制”到另一个工作簿中的单元格(假设两个工作簿都打开了):

Workbooks("SOURCE.xls").Sheets("SHEETNAME").Range("A1").Interior.Color = _
Workbooks("DESTINATION.xls").Sheets("SHEETNAME").Range("A1").Interior.Color

对于字体颜色:

Workbooks("SOURCE.xls").Sheets("SHEETNAME").Range("A1").Font.Color = _
Workbooks("DESTINATION.xls").Sheets("SHEETNAME").Range("A1").Font.Color

替换文件名、工作表名称和范围值以匹配您的文件。

相关内容