我需要帮助来调整我的代码。
列E
有30张不同大小的图片,我想将这些图片放在以E5
开头的单元格中。
以下代码仅将图像置于单元格E5
中。如何调整它使每个单元格中的所有图像居中?
Sub aTest()
CenterMe ActiveSheet.Shapes(1), Range("E5")
End Sub
Sub CenterMe(Shp As Shape, OverCells As Range)
With OverCells
Shp.Left = .Left + ((.Width - Shp.Width) / 2)
Shp.Top = .Top + ((.Height - Shp.Height) / 2)
End With
End Sub
答案 0 :(得分:0)
Sub CENTER_SHAPES()
Application.ScreenUpdating = False
Dim MyShape As Shape
For Each MyShape In ActiveSheet.Shapes
If MyShape.Type = msoPicture Then CenterMe MyShape, Range(MyShape.TopLeftCell.Address(False, False))
Next MyShape
Set MyShape = Nothing
Application.ScreenUpdating = True
End Sub
此代码将循环活动工作表上的每个形状(图像类型),它将启动您的子集中心。希望它有所帮助!
更新的答案:已添加ScreenUpdating = False,因为OP表示大约需要7分钟。