首页 > 解决方案 > 在 VBA 复制图像中查找 Excel 工作表的底部

问题描述

我想将照片移动到单元格底部,但它不起作用请帮助我?

.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

标签: vbaimageexcelcopy-paste

解决方案


没有Bottom财产,所以你需要类似的东西

.Top = Target.Top + Target.Height

推荐阅读