Excel VBA图表到图像复制/粘贴货币

Excel VBA图表到图像复制/粘贴货币,excel,charts,vba,Excel,Charts,Vba,经常使用该网站解决VBA问题,而且还没有问过问题-希望有人能帮上忙 我使用此代码将Excel工作表图表作为图像复制到另一个工作簿。问题是,我的图表有一个货币度量单位,在Y轴上显示“£”,粘贴到其他工作簿的图表图像总是以美元“$”为单位 有没有办法强迫我用英镑货币复制图表 我的代码: Windows(dsllng).Activate ActiveSheet.Shapes("Chart 8").CopyPicture Appearance:=xlScreen, Format:=xlPicture W

经常使用该网站解决VBA问题,而且还没有问过问题-希望有人能帮上忙

我使用此代码将Excel工作表图表作为图像复制到另一个工作簿。问题是,我的图表有一个货币度量单位,在Y轴上显示“£”,粘贴到其他工作簿的图表图像总是以美元“$”为单位

有没有办法强迫我用英镑货币复制图表

我的代码:

Windows(dsllng).Activate
ActiveSheet.Shapes("Chart 8").CopyPicture Appearance:=xlScreen, Format:=xlPicture
Windows(TdysFle).Activate
Range("B11").Select
Sheets("Ad-Selling Report Summary").Paste
谢谢


Ashley

我认为您必须避免excel对ticklabel numberformat使用某种本地格式的自动设置

此代码在复制图表之前将ticklabel numberformat设置为GBP,并在复制后将其设置回链接到单元格数据

Windows(dsllng).Activate
With ActiveSheet.ChartObjects("Chart 8")
  .Chart.Axes(xlValue).TickLabels.NumberFormatLinked = False
  .Chart.Axes(xlValue).TickLabels.NumberFormat = "#,##0.00 £"
  .CopyPicture Appearance:=xlScreen, Format:=xlPicture
  .Chart.Axes(xlValue).TickLabels.NumberFormatLinked = True
End With
Windows(TdysFle).Activate
Range("B11").Select
Sheets("Ad-Selling Report Summary").Paste

应该可以解决您的问题

我刚刚创建了一个示例数据,它对我来说很好。我能看一下你的练习册吗?非常感谢Axel-这太完美了。我只需要从“#,##0.00”改为“#,##0.00”,以适应我的其他图表。谢谢