我想自动调整图像的大小,使其宽度是某个列范围的宽度,例如Excel中的A到J列。
图像是横幅图像,横跨报价页面的宽度。 我希望它的宽度随着列宽的变化而改变,所以图像的宽度总是与A列到J的宽度一致
答案 0 :(得分:2)
您不需要VBA。
要使控件在单元格移动时保持单元格(例如,在排序时),并在单元格高度和宽度更改时调整控件大小,请选择移动并使用单元格调整大小
右键单击所选内容,单击“格式控制”,然后单击“属性”选项卡。
在“对象定位”下,确保选中移动并使用单元格大小。
另见Position and size a control with its underlying cell on a worksheet。
答案 1 :(得分:0)
不幸的是,Excel中没有Worksheet_CellSizeChange
或任何其他类似的事件。但是,无论何时选择另一个单元格,都可以使用Worksheet_SelectionChange
事件来自动调整图片。只需将代码粘贴到Visual Basic编辑器中的有关工作表中即可:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myRange As Range
Set myRange = Me.Columns("A:J")
Application.EnableEvents = False
If Not Intersect(Target, myRange) Is Nothing Then
If Not Me.Pictures(1).Width = myRange.Columns.Width Then
Me.Pictures(1).Width = myRange.Columns.Width
End If
End If
Application.EnableEvents = True
End Sub