如何在 VBA 代码 Excel 中区分选定的图片?

如何在 VBA 代码 Excel 中区分选定的图片?

我是 VBA 编码的新手。我尝试在 Excel 中按如下方式排列 3 张图片:

  1. 将所有选定的图片调整为相同尺寸。
  2. 将选定的 3 张图片以 188 点为间距排列成 1 行。

我的问题是我不知道如何区分图片。使用我的代码,图片会重叠。这是我的代码:

Sub ArrangePics()

' ArrangePics Macro

    Dim objPic As Object

    For Each objPic In ActiveSheet.Pictures
        With objPic.ShapeRange
            .LockAspectRatio = False
            .Height = Application.CentimetersToPoints(4.1)
            .Width = Application.CentimetersToPoints(5.1)
        End With
    Next

    Selection.ShapeRange.Distribute msoDistributeHorizontally, msoFalse


Dim intX As Integer
intX = 1
Dim i As Long

For i = 0 To 2 Step 1

   Selection.ShapeRange.Left = intX * 188

Next


'       Selection.Cut

End Sub 

我将非常感激您的帮助。谢谢。

迈克尔·斯拉克

答案1

我相信这会解决问题。

Sub ArrangePics()
' ArrangePics Macro
    Dim dNextPos As Double, _
        objPic As Object


    For Each objPic In ActiveSheet.Pictures

        With objPic.ShapeRange
            .LockAspectRatio = False
            .Height = Application.CentimetersToPoints(4.1)
            .Width = Application.CentimetersToPoints(5.1)
            .Left = dNextPos

            dNextPos = .Left + .Width + 188
        End With

    Next

'    Selection.ShapeRange.Distribute msoDistributeHorizontally, msoFalse
End Sub

相关内容