Excel 如何在变量中保存当前配色方案并设置新工作簿';将颜色方案添加到该变量
我为我的部门开发了基于Excel的工具,最近遇到了一个我无法回答的问题。我有一个工作代码,可以复制ActiveWorkbook中的特定工作表,创建一个只包含这些工作表的新工作簿。我遇到的问题是,当这种情况发生时,颜色主题会重置。我已尝试使用以下代码进行修复,但遇到类型不匹配错误 任何帮助都将不胜感激 运行Microsoft O365-Excel 2016Excel 如何在变量中保存当前配色方案并设置新工作簿';将颜色方案添加到该变量,excel,vba,Excel,Vba,我为我的部门开发了基于Excel的工具,最近遇到了一个我无法回答的问题。我有一个工作代码,可以复制ActiveWorkbook中的特定工作表,创建一个只包含这些工作表的新工作簿。我遇到的问题是,当这种情况发生时,颜色主题会重置。我已尝试使用以下代码进行修复,但遇到类型不匹配错误 任何帮助都将不胜感激 运行Microsoft O365-Excel 2016 Sub SomeSub() dim wsColors as Variant set wsColors = ThisWorkbook.Col
Sub SomeSub()
dim wsColors as Variant
set wsColors = ThisWorkbook.Colors()
Thisworkbook.Worksheets(1).Copy
Activesheet.Colors() = ws.Colors
End Sub
预期的结果是,我会将当前工作簿的配色方案保存到变体wsColors,然后使用相同的配色方案设置新制作的工作表
我只使用预设的配色方案(Windows2007-2010)作为我想要的端点,所以如果有其他方法可以直接引用它,因为它可以在每个工作簿中使用,而不必从其他工作簿中获取,我洗耳恭听
解决-
我们能够用
ActiveWorkbook.Theme.ThemeColorScheme.Load ( _
"C:\Program Files (x86)\Microsoft Office\Root\Document Themes 16\Theme Colors\Office 2007 - 2010.xml" _
)
2个或3个更改可以修复它
Sub SomeSub()
Dim wsColors As Variant
wsColors = ThisWorkbook.Colors
ThisWorkbook.Worksheets(1).Copy
ActiveWorkbook.Colors() = wsColors
End Sub
底部第二行ws未定义无法通过以下方式完成此操作:ActiveWorkbook.Theme.ThemeColorScheme.Load(“C:\Program Files(x86)\Microsoft Office\Root\Document Themes 16\Theme Color\Office 2007-2010.xml”u)这并没有达到我想要的效果——因为它没有将新工作簿的配色方案设置为原始工作簿的配色方案。我可以通过:``ActiveWorkbook.Theme.ThemeColorScheme.Load(`C:\Program Files(x86)\Microsoft Office\Root\Document Themes 16\Theme Color\Office 2007-2010.xml)来完成此任务```