[英]How to copy all cell colors from one workbook to another in Excel VBA?
我有两个具有相同工作表名称和相似数据的大型工作簿。 源工作表将一堆颜色应用于单元格,我必须将这些颜色复制到目标工作表中的相应单元格。
我尝试过以下建议: 如何将Excel配色方案从一个工作簿复制到另一个工作簿
但这似乎无能为力。
这是我编写的代码,但是很长一段时间都锁定了excel。 它看起来合适吗?
Sub CopyColors()
Dim x As Workbook
Dim y As Workbook
Dim SomeSheet As Worksheet
Dim SomeRange As Range
Set x = Workbooks.Open(" c:/PATH/Source.xlsm ")
Set y = Workbooks.Open(" c:/PATH/Destination.xlsm ")
y.Colors = x.Colors
For Each SomeSheet In x.Worksheets
For Each SomeRange In SomeSheet.Cells
y.Sheets(SomeSheet.Name).Range(SomeRange.Address).Interior.ColorIndex = SomeRange.Interior.ColorIndex
Next SomeRange
Next SomeSheet
End Sub
我决定,与等待该计划成功相比,将是更好地利用我的时间来探索其他选择。 如果我没有更好的主意,请让它在今晚通宵运行。
您可能可以将其适应不同工作簿中的工作表。 假设我们在同一工作簿中有两张纸。 我们要复制颜色。 我们不是将所有单元格单独循环,而是将第一张工作表中的所有单元格和PasteSpecialFormats复制到第二个工作表中:
从记录器:
Sub Macro2()
Sheets("Sheet1").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet2").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.