在VBA中展开表格时,数据透视表边界失败

我用VBA做了一个数据透视表。 这是我的代码。

.PivotTables(1).PivotFields("Fineline").ShowDetail = False 'Create Borders Range("A2:K2").BorderAround Weight:=xlMedium Range(.Range("A1"), .Range("K" & .Range("K" & Rows.Count).End(xlUp).Row)).BorderAround Weight:=xlMedium Range(.Range("B1"), .Range("B" & .Range("B" & Rows.Count).End(xlUp).Row)).BorderAround Weight:=xlMedium Range(.Range("C1"), .Range("E" & .Range("E" & Rows.Count).End(xlUp).Row)).BorderAround Weight:=xlMedium Range(.Range("F1"), .Range("H" & .Range("H" & Rows.Count).End(xlUp).Row)).BorderAround Weight:=xlMedium Range(.Range("I1"), .Range("K" & .Range("K" & Rows.Count).End(xlUp).Row)).BorderAround Weight:=xlMedium 

我的数据透视表是表格forms,所以我能够打开和closures某些选项卡,因此代码的第一行不显示细节。 正如你所看到的,我想创build一个围绕列C到E,F到H,我到J)的边框。 当我运行代码时,表看起来应该如何。 但是,当我在数据透视表中打开一个选项卡时,我所有的列现在都有一个边框。 我无法弄清楚为什么边界这样做?

谢谢,

G

数据透视表具有可以复制和修改的“样式”。 所以你不需要用VBA做这个,而是复制一个看起来像你想要的样式,并且做出你想要的任何改变,并且它将被自动地重新应用。

为此,请右键单击样式库中的样式,然后select复制…

在这里输入图像说明

…然后给它一个名字,然后点击你想格式不同的区域:

在这里输入图像说明

例如,如果要在整个数据透视的边框上select整个表格 ,然后单击格式button,然后从对话框顶部的选项卡中select边框 ,然后应用所需的格式:

在这里输入图像说明

然后点击确定closures对话框。 数据透视表在这个阶段仍然看起来是一样的,因为当你设置一个新的样式时,你还没有应用到这个数据透视表。 所以回到样式库,点击向下的箭头,从Custom区域select你的新的数据透视表:

在这里输入图像说明