Excel 2010在Workbook.SaveAs上更改数据透视图行格式

问题描述 投票:0回答:1

我为Excel 2010编写了一堆VBA,用于从Access数据库中检索数据,将数据透视表放入新工作簿,并根据具有两个数据系列的数据透视表创建数据透视表。一个系列是一个栏,第二个系列是我将.MarkerStyle设置为xlMarkerStyleNone的一行。宏还会保存新工作簿。

当我打开保存的工作簿时,我发现该行现在有标记。

在试图找出这里发生了什么时,我已经按下[CTRL] - [BREAK]来停止宏格式化图表格式化之后和保存之前,所以我可以看到图表格式中有什么。我可以看到,当我右键单击系列并查看属性时,标记样式已设置为无,并且通过查看相关系列上的.MarkerStyle仍设置为xlMarkerStyleNone来验证。

当我使用[CTRL] - [S]手动保存新工作簿时,它保存得很好并且在没有行标记的情况下加载。但是当我用save-as([ALT] - [F],[A])保存文件时,我看到文件保存后会出现标记。

所以我认为这不是代码,而是Workbook.SaveAs方法。但为了以防万一,我会展示相关代码。

我在保存为.xlsb文件时使用xlExcel12和50作为FileFormat,在保存为常规.xlsx文件时使用xlOpenXMLWorkbook和51。这也没有任何区别。

更新:我还尝试了Workbook.Save方法,它只保存我创建的新工作簿Book1.xlsx,它有同样的问题。

    ' Chart Formatting
    reportSheet.Shapes(10).Chart.SeriesCollection(2).ChartType = xlLine
    reportSheet.Shapes(10).Chart.SeriesCollection(2).Format.Line.Visible = msoTrue
    reportSheet.Shapes(10).Chart.SeriesCollection(2).Format.Line.ForeColor.RGB = RGB(186, 7, 67)
    reportSheet.Shapes(10).Chart.SeriesCollection(2).Format.Line.Transparency = 0
    reportSheet.Shapes(10).Chart.SeriesCollection(2).Format.Line.Weight = 1.5
    reportSheet.Shapes(10).Chart.SeriesCollection(2).MarkerStyle = xlMarkerStyleNone

    ' Saving the chart
    reportbook.SaveAs fileName:=saveFileSpec, FileFormat:=xlOpenXMLWorkbook

我期望在使用Workbook.SaveAs方法时保存工作簿而不会在保存过程中进行任何更改。

excel vba charts format
1个回答
0
投票

好吧,这很愚蠢,但我已经通过鼓滚动格式化并且保存了两次。现在这样做,但我会在某个时候尝试Jon Peltier的建议并报告。

© www.soinside.com 2019 - 2024. All rights reserved.