Как отличить выбранные картинки в коде VBA Excel? - PullRequest
1 голос
/ 07 апреля 2020

Я абсолютный новичок в кодировании VBA. Я пытаюсь упорядочить 3 изображения в Excel следующим образом:

  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 Ответ

0 голосов
/ 07 апреля 2020

вы можете е после этого:

Dim xPic As Long

Dim objPic As Object
For Each objPic In Selection
    If TypeOf objPic Is Picture Then ' be sure to deal with pics only
        With objPic.ShapeRange
            .LockAspectRatio = False
            .Height = Application.CentimetersToPoints(4.1)
            .Width = Application.CentimetersToPoints(5.1)

            .Top = 200 ' same row for all pictures
            .Left = xPic
            xPic = xPic + 188 ' update xPic
        End With
    End If
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...