2013-08-14 1 views
0

Возможно, я не могу получить форматы сводной таблицы для копирования, я могу получить только значения для передачи. Я использую этот пост в качестве ссылки: Copying Pivot Table FormatsКопировать значения и форматы сводной таблицы

вот мой код:

Sub copyPaste(ByVal sht As Variant, ByVal cell As String) 
Dim r As range 
    pt.TableRange2.Offset(1, 0).Copy 
    With wbReport.Sheets(sht).range(cell) 
      .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
      :=False, Transpose:=False 

      .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 
      SkipBlanks:=False, Transpose:=False 

      '.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _ 
      , SkipBlanks:=False, Transpose:=False 
    End With 

End Sub 

я упускаю что-то?

ответ

0

По-видимому, проблема заключается в .Offset(1, 0). Когда вы компенсируете этот диапазон, как я и сделал, по какой-то причине форматы раскраски не копируются. Моим обходным решением сейчас является просто удалить этот лакомый кусочек и просто скопировать TableRange2, а затем удалить соответствующую верхнюю строку таблицы. Обратите внимание, что я использую mac excel 2011.