根据样式复制excel中不同范围的单元格

时间:2013-07-30 09:55:41

标签: excel vba excel-vba

我使用数据透视表来排列我的数据。当我将我的数据复制到另一张表时,它看起来像这样: enter image description here

但我希望数据彼此相同: enter image description here

如何使用粗线作为标题并仅剪切未修复的所需范围?我尝试使用宏,但我只能复制固定范围,所以我每次都手动完成(有些表格非常大)。 请帮忙, 谢谢。

1 个答案:

答案 0 :(得分:1)

您可以完全控制PivotTable中的所有单元格。示例代码:

Dim curpivottable As PivotTable
Set curpivottable = ActiveSheet.PivotTables(1)
Dim curRange As Range
Set curRange = curpivottable.TableRange1

For Each cell In curRange.Cells
    If (cell.Font.Bold) Then
       'This is a bold cell
    End If
Next cell

请记住,curRange包含curpivottable中第一行(标题所在的位置)的所有内容。

- 更新

我上面的回答是处理数据透视表中的范围的通用方法。如果您想要的只是复制/粘贴范围,则可以直接执行(如果范围在数据透视表中,则相同)。例如:

Dim origRange As Range
Set origRange = Sheets("Sheet1").Range("A2:A500")
Dim destRange As Range
Set destRange = Sheets("Sheet2").Range("A2")
origRange.Copy
destRange.PasteSpecial xlPasteValues

等效地,您可以在数据透视表中单独检查给定单元格的格式(粗体或非粗体)。