Найти нижнюю часть листа Excel в VBA Copy Images - PullRequest
0 голосов
/ 27 сентября 2018

Я хотел бы переместить фотографию в конец ячейки, но она не работает, пожалуйста, помогите мне?

.Top = Target.Top -> .Bottom = Target.Bottom

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [A:A]) Is Nothing Or Target.Row = 1 Then Exit Sub
    On Error Resume Next
    Target(, 2).Worksheet.Shapes(Target.Address).Delete
    On Error GoTo Thoat

    Copy_Images Target.Value

    ActiveSheet.PasteSpecial
    With Selection
        .Name = Target.Address
        .Top = Target.Top
        .Left = Target(, 2).Left
        .ShapeRange.LockAspectRatio = msoFalse
        .ShapeRange.Height = Target.Height
        .ShapeRange.Width = Target(, 2).Width
    End With
Thoat:
    Target.Offset(1, 0).Select
End Sub

Private Sub Copy_Images(imageName As String)
    Dim sh As Shape
    For Each sh In Sheets(2).Shapes
        If sh.Name = imageName Then
            sh.Copy
            'Sheets(1).Pictures.Paste
        End If
    Next
End Sub

Спасибо!


Я хочу изменить размер столбца, чтобы подогнать его под размер, пожалуйста, помогите мне:

With Selection
     .Name = Target.Address
     .Top = Target.Top
     .Left = Target(, 2).Left
     .ShapeRange.LockAspectRatio = msoFalse
     '.ShapeRange.Height = Target.Height
     '.ShapeRange.Width = Target(, 2).Width
End With

1 Ответ

0 голосов
/ 27 сентября 2018

Нет свойства Bottom, поэтому вам нужно что-то вроде

.Top = Target.Top + Target.Height
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...