Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在变量中保存当前配色方案并设置新工作簿';将颜色方案添加到该变量_Excel_Vba - Fatal编程技术网

Excel 如何在变量中保存当前配色方案并设置新工作簿';将颜色方案添加到该变量

Excel 如何在变量中保存当前配色方案并设置新工作簿';将颜色方案添加到该变量,excel,vba,Excel,Vba,我为我的部门开发了基于Excel的工具,最近遇到了一个我无法回答的问题。我有一个工作代码,可以复制ActiveWorkbook中的特定工作表,创建一个只包含这些工作表的新工作簿。我遇到的问题是,当这种情况发生时,颜色主题会重置。我已尝试使用以下代码进行修复,但遇到类型不匹配错误 任何帮助都将不胜感激 运行Microsoft O365-Excel 2016 Sub SomeSub() dim wsColors as Variant set wsColors = ThisWorkbook.Col

我为我的部门开发了基于Excel的工具,最近遇到了一个我无法回答的问题。我有一个工作代码,可以复制ActiveWorkbook中的特定工作表,创建一个只包含这些工作表的新工作簿。我遇到的问题是,当这种情况发生时,颜色主题会重置。我已尝试使用以下代码进行修复,但遇到类型不匹配错误

任何帮助都将不胜感激

运行Microsoft O365-Excel 2016

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)来完成此任务```