贝丝问如何将外部单元格的颜色格式复制到当前工作簿中的单元格。不幸的是,没有使用Excel的链接功能来执行此操作的固有方法。但是,您可以使用宏将格式从一个工作簿复制到另一个工作簿。

例如,请考虑以下宏代码:

Dim lMyColor As Long Workbooks.Open Filename:="C:\mypath\myworkbook.xlsm"

lMyColor = Range("A1").Interior.Color Windows("TargetBook.xlsm").Activate Range("E8").Interior.Color = lMyColor

此代码打开一个工作簿(myworkbook.xlsm),并从单元格A1中获取填充颜色。然后,它切换回目标工作簿(假定正在从中运行此代码),并将填充颜色填充到单元格E8中。

如果要将填充颜色从单个单元格复制到单个单元格,则此方法非常有用。相反,如果您想复制一定范围的单元格或复制更多格式而不只是填充颜色,那么使用此方法可能会更好:

Workbooks.Open Filename:= "C:\mypath\myworkbook.xlsm"

Range("A1:B6").Copy Windows("TargetBook.xlsm").Activate Range("E8").PasteSpecial Paste:=xlPasteFormats, _   Operation:=xlNone, SkipBlanks:=False, _   Transpose:=False

同样,此代码将打开外部工作簿。然后,它对一系列单元格(A1:B6)使用.Copy方法。切换到目标工作簿后,将这些单元格中的格式粘贴到从E8开始的单元格中。

如果决定使用这样的代码,则可以将其放在目标工作簿的Auto_Open宏中。当然,您需要修改代码,以便它引用正确的路径和工作簿名称以及所需的源范围和目标范围。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(11169)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本:

链接:/ excel-Referencing_External_Cell_Colors [参考外部单元格颜色]。