Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 为什么跨Excel复制和粘贴图表会丢失格式?_Vba_Excel_Charts_Excel Charts - Fatal编程技术网

Vba 为什么跨Excel复制和粘贴图表会丢失格式?

Vba 为什么跨Excel复制和粘贴图表会丢失格式?,vba,excel,charts,excel-charts,Vba,Excel,Charts,Excel Charts,我正在构建一个宏,它从一个excel复制图表并粘贴到另一个excel中。它以前工作过,但现在似乎丢失了图表x轴的日期格式。即使我复制图片,它仍然会丢失日期格式并显示“jan yy”而不是“jan 16”。我在荷兰工作,所以年份用“jj”表示,但两个excel文件都是美国格式,我的电脑也是 源图表: 输出图表: 我尝试了复制、复制图片(xlScreen或xlPrint)以及粘贴(粘贴、粘贴)的多种配置,但似乎都没有保留格式。如果我使用以下命令,则仅在宏第一次运行时有效: Sheets("Fac

我正在构建一个宏,它从一个excel复制图表并粘贴到另一个excel中。它以前工作过,但现在似乎丢失了图表x轴的日期格式。即使我复制图片,它仍然会丢失日期格式并显示“jan yy”而不是“jan 16”。我在荷兰工作,所以年份用“jj”表示,但两个excel文件都是美国格式,我的电脑也是

源图表:

输出图表:

我尝试了复制、复制图片(xlScreen或xlPrint)以及粘贴(粘贴、粘贴)的多种配置,但似乎都没有保留格式。如果我使用以下命令,则仅在宏第一次运行时有效:

Sheets("Factsheet").ChartObjects("Chart 8").Activate
ActiveChart.ChartArea.Copy
core.Sheets("Output").Paste
但与第一种方法不同,这无法使我粘贴到特定的单元格位置,而且我也不明白为什么第一次粘贴有效,而第二次粘贴无效。任何帮助或想法都将不胜感激

ActiveChart.SaveChartTemplate Filename:="Temp Chart"
ActiveChart.ChartArea.Copy
ActiveSheet.Sheets("YourSheetName").Paste
ActiveChart.ApplyChartTemplate "Temp Chart"

'这会在复制粘贴图表操作时恢复格式,也会在将图表分配到新的源区域时恢复格式(因为它也会丢失格式)

为什么要移动图表?制作一个模板表,将图表组装并运行,然后粘贴新数据并保存。另存为…不幸的是,需要将图表与其他几个excel文件中的图表一起使用到另一个excel文件中,因此必须将其提取将所有图表放在一个文件中。。。根据……啊,我明白你的意思了,图表从更新的单独文件中提取数据。我可以用这些图表和它们的数据创建一个文件,但这将需要重复更新数据(或者构建一个宏来更新数据),但我希望有一个简单的解决方案。。。谢谢你的主意
ActiveChart.SaveChartTemplate Filename:="Temp Chart"
ActiveChart.ChartArea.Copy
ActiveSheet.Sheets("YourSheetName").Paste
ActiveChart.ApplyChartTemplate "Temp Chart"