我为Excel 2010编写了一堆VBA,以从Access数据库中检索数据,将数据透视表放入新的工作簿中,并基于具有两个数据系列的数据透视表创建数据透视表。一个系列是一个小节,第二个系列是一行,我已将.MarkerStyle设置为xlMarkerStyleNone。该宏还会保存新的工作簿。
打开保存的工作簿时,我发现该行上现在有标记。
在试图找出此处发生的情况时,我按下了[CTRL]-[BREAK],以便在格式化图表之后以及保存之前停止宏,以便可以看到图表格式中的内容。右键单击序列并查看属性,并通过查看相关序列上的.MarkerStyle仍设置为xlMarkerStyleNone进行验证,可以看到标记样式已设置为none。
当我使用[CTRL]-[S]手动保存新工作簿时,它保存得很好,并且没有行标记就可以加载。但是,当我使用另存为([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方法保存该工作簿而不会在保存过程中进行任何更改。
答案 0 :(得分:0)
好的,这很愚蠢,但是我已经通过鼓卷格式化并保存了两次。这将立即执行,但是我会在某个时候尝试Jon Peltier的建议并进行报告。