我在一个页面上有一个包含30多个小散点图的电子表格。我正在设置它,以便如果用鼠标单击其中一个图,它会将高度和宽度放大400%(锁定宽高比)。你能通过点击它来增加当前选择的任何地块的大小吗?
如果无法做到这一点,我可以将单个调整大小绑定到ActiveX按钮吗?我需要一个按钮来处理所有绘图(无论我决定点击什么),而不需要为每个图表名称使用不同的代码。
有什么想法吗?
谢谢,
杰夫
答案 0 :(得分:1)
我担心你的问题没有完美答案。 Excel不提供可在此情况下使用的任何“OnClick”事件。我能想出的最佳答案是使用下面的宏,然后为宏指定一个快捷方式或按钮。这样,当您选择图表并按下指定的快捷方式或按钮时,图表将放大或缩小其大小(基于给定的阈值)。
Sub ResizeChart()
Dim ChtObj As ChartObject
'If a chart is selected
If TypeName(Selection) = "ChartArea" Then
Set ChtObj = ActiveChart.Parent
Select Case ChtObj.Height
Case Is <= 300 '<~~~ Assign threshold value for when to downscale
ChtObj.Height = ChtObj.Height * 4
ChtObj.Width = ChtObj.Width * 4
Case Else
ChtObj.Height = ChtObj.Height / 4
ChtObj.Width = ChtObj.Width / 4
End Select
End If
End Sub