Excel 在VBA中精确调整图表大小
我试图用VBA在Excel中调整一些图表的大小。下面的代码完成了这项工作,但有一点需要注意:Excel 2016报告调整大小的图表的大小为5.21“*9.02”,而不是我预期的5“*9”。对于如何将图表精确调整为5“*9”的任何建议,我们将不胜感激。请注意,我没有任何保留纵横比的约束 多谢各位Excel 在VBA中精确调整图表大小,excel,vba,charts,resize,Excel,Vba,Charts,Resize,我试图用VBA在Excel中调整一些图表的大小。下面的代码完成了这项工作,但有一点需要注意:Excel 2016报告调整大小的图表的大小为5.21“*9.02”,而不是我预期的5“*9”。对于如何将图表精确调整为5“*9”的任何建议,我们将不胜感激。请注意,我没有任何保留纵横比的约束 多谢各位 Sub chartResize() Dim i As Integer Dim chartWidthInInches As Double Dim chartHeightInInches A
Sub chartResize()
Dim i As Integer
Dim chartWidthInInches As Double
Dim chartHeightInInches As Double
chartHeightInInches = 5
chartWidthInInches = 9
For i = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(i).Type = msoChart Then
ActiveSheet.Shapes(i).Height = chartHeightInInches * 72
ActiveSheet.Shapes(i).Width = chartWidthInInches * 72
End If
Next i
End Sub
仅当缩放设置不是100%时,才会发生此行为。100%时,Excel在调整大小后显示5“*9”。在你的帮助下,我回答了我的问题。谢谢。出于好奇,图纸缩放设置是什么?100%还是其他百分比?
Sub chartResize()
Dim i As Integer
Dim chartWidthInInches As Double
Dim chartHeightInInches As Double
chartHeightInInches = 5
chartWidthInInches = 9
For i = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(i).Type = msoChart Then
ActiveSheet.Shapes(i).Height = chartHeightInInches * 72
ActiveSheet.Shapes(i).Width = chartWidthInInches * 72
End If
Next i
End Sub