在新的工作簿中复制Excel主题颜色

我想制作一个macros,在一个新的工作簿中复制两张纸。 但新创build的工作簿中的主题颜色是不同的。

Sub Export_File() Dim Wb3 As Workbook Dim strSaveName As String strSaveName = Worksheets("Communication").Range("a2").Value Set Wb3 = ThisWorkbook 'copy sheets to new workbook Sheets(Array("Auswertung", "Communication")).Copy ActiveWorkbook.SaveAs strSaveName Workbooks(Wb3).Colors = Workbooks(strSaveName).Colors End Sub 

这条线对我不起作用:

 Workbooks(Wb4).Colors = Workbooks(strSaveName).Colors 

我认为这与设置Wb4 = ThisWorkbook需要帮助有关…

问候

在这里输入图像说明

这似乎是为我工作,复制工作簿主题:

  ' copy the colors and themes ' resultWorkbook.Colors = sourceWorkbook.Colors 'Theme is not the same as colors Dim sourceTheme As Microsoft.Office.Core.ThemeColorScheme = sourceWorkbook.Theme.ThemeColorScheme Dim resultTheme As Microsoft.Office.Core.ThemeColorScheme = resultWorkbook.Theme.ThemeColorScheme For i = 1 To sourceTheme.Count ' there are 12 theme colors: https://msdn.microsoft.com/en-us/library/aa432704(v=office.12).aspx 'Debug.WriteLine(String.Format("{0, -2} ~ {1}", i, sourceTheme.Colors(i).RGB)) resultTheme.Colors(i).RGB = sourceTheme.Colors(i).RGB Next i 

Worksheet.Copy只接受这些值,但如果您将脚本设置为将单元格的范围从一个表单复制到另一个表单,则可以使用PasteSpecial复制值和格式 – 本文中的示例

 Worksheets(1).Cells(i, 3).Copy Worksheets(2).Cells(a, 15).PasteSpecial Paste:=xlPasteFormats Worksheets(2).Cells(a, 15).PasteSpecial Paste:=xlPasteValues