Мой код, который форматирует определенные строки в моей сводной таблице, работает, когда я шаг за шагом выполняю код.Однако, когда я назначил макрос кнопке с другими макросами, он не завершил форматирование в готовом продукте.В результате, когда я скопировал данные сводной таблицы на новый лист, правильное форматирование отсутствовало.
В основном я пытаюсь отформатировать определенные строки в сводной таблице, а затем скопировать значения иотформатируйте сводную таблицу на новый лист и отформатируйте остальные там (поскольку форматирование сводной таблицы значительно замедляет мой макрос).
Вот начало моего кода:
Sub formatpt()
'formatpt Macro
Dim ws As Worksheet
Set ws = Worksheets("Pivot")
Dim pt As PivotTable
Set pt = Worksheets("Pivot").PivotTables("Dashboard")
pt.ShowTableStyleRowHeaders = False
pt.ShowDrillIndicators = False
pt.PivotSelect "Region[All]", xlLabelOnly + _
xlFirstRow, True
Selection.Interior.Color = RGB(128, 128, 128)
Selection.RowHeight = 40
Selection.Font.Bold = True
Selection.Font.Color = vbWhite
pt.PivotSelect "Desk[All]", xlLabelOnly + _
xlFirstRow, True
Selection.Interior.Color = RGB(166, 166, 166)
Selection.RowHeight = 35
Selection.Font.Bold = True
pt.PivotSelect "Style[All]", xlLabelOnly + _
xlFirstRow, True
Selection.Interior.Color = RGB(217, 217, 217)
Selection.RowHeight = 20
Selection.Font.Bold = True
Set ws2 = Worksheets("Final")
ws.Range("A1").CurrentRegion.Copy
ws2.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
ws.Range("A1").CurrentRegion.Copy
ws2.Range("A1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Высота строк тоже не копируется, но это менее важно.Но если вы знаете, как копировать по высоте строки, а также по форматированию и значениям, то, пожалуйста, дайте мне знать.
Любая помощь очень ценится.
Спасибо