Image 调整图片大小并将其粘贴到其他工作簿中的选定范围

Image 调整图片大小并将其粘贴到其他工作簿中的选定范围,image,vba,excel,copy-paste,Image,Vba,Excel,Copy Paste,这可能太容易问了,但我是个初学者 我希望能够从一个工作表中复制范围,并将其粘贴到另一个调整大小的工作表中,我应该将其拾取并粘贴到其他工作表中的选定范围区域 当我使用宏执行此操作时,我可以手动粘贴它并调整其大小。当我再次尝试使用此重新编码的宏时,它不会将其粘贴到我选择的范围,并且其大小与原始大小或调整后的大小不同 如何指定粘贴的大小和范围?如果粘贴图像,可以使用.width、.height、.top、.left来定位图像并设置其宽度和高度。此外,如果你想适应某个范围,你可以指定它的宽度,高度,顶部

这可能太容易问了,但我是个初学者

我希望能够从一个工作表中复制范围,并将其粘贴到另一个调整大小的工作表中,我应该将其拾取并粘贴到其他工作表中的选定范围区域

当我使用宏执行此操作时,我可以手动粘贴它并调整其大小。当我再次尝试使用此重新编码的宏时,它不会将其粘贴到我选择的范围,并且其大小与原始大小或调整后的大小不同


如何指定粘贴的大小和范围?

如果粘贴图像,可以使用.width、.height、.top、.left来定位图像并设置其宽度和高度。此外,如果你想适应某个范围,你可以指定它的宽度,高度,顶部,左心房的范围,甚至细胞。需要进一步的例子吗?我似乎太清楚了:(

编辑:试试这样的方法

Sub copyPic()
    Dim targetSheet As Worksheet
    Set targetSheet = Sheets("Sheet1")

    With targetSheet
        .Range(.Cells(1, 1), .Cells(3, 3)).CopyPicture
        .Paste
        Selection.Name = "pastedPic"

        With .Shapes("pastedPic")
            .Top = targetSheet.Cells(5, 5).Top
            .Left = targetSheet.Cells(5, 5).Left
            .Width = 50
            .Height = 50

        End With
    End With

End Sub
Sub copyPic()
    Dim targetSheet As Worksheet
    Set targetSheet = Sheets("Sheet1")
    Dim targetWB as excel.workbook
    set targetWB = workbooks.open("pathToYourWorkbook") 
    With targetSheet
        .Range("A1:B10") .CopyPicture
        targetWb.sheets("sheetName").Paste
        Selection.Name = "pastedPic"

        With .Shapes("pastedPic")
            .Top = targetSheet.Cells(5, 5).Top
            .Left = targetSheet.Cells(5, 5).Left
            .Width = 50
            .Height = 50

        End With
    End With

End Sub
你可以用像

.range("A1:B10") 
与其说是我的引用,不如试着去理解它,它更容易阅读。它告诉你你是一个范围,它有两个角,单元格由行和列编号(按此顺序)指定。或者选择范围甚至可以是.range(.cells(1,“A”),.cells(3,“C”))但数字就是数字……最终,如果你需要增加范围列或数字……那就更好了

所以为了满足你的需要

Sub copyPic()
    Dim targetSheet As Worksheet
    Set targetSheet = Sheets("Sheet1")

    With targetSheet
        .Range("A1:B10") .CopyPicture
        .Paste
        Selection.Name = "pastedPic"

        With .Shapes("pastedPic")
            .Top = targetSheet.Cells(5, 5).Top
            .Left = targetSheet.Cells(5, 5).Left
            .Width = 50
            .Height = 50

        End With
    End With

End Sub
如果您想将其粘贴到其他工作簿,请尝试以下操作

Sub copyPic()
    Dim targetSheet As Worksheet
    Set targetSheet = Sheets("Sheet1")

    With targetSheet
        .Range(.Cells(1, 1), .Cells(3, 3)).CopyPicture
        .Paste
        Selection.Name = "pastedPic"

        With .Shapes("pastedPic")
            .Top = targetSheet.Cells(5, 5).Top
            .Left = targetSheet.Cells(5, 5).Left
            .Width = 50
            .Height = 50

        End With
    End With

End Sub
Sub copyPic()
    Dim targetSheet As Worksheet
    Set targetSheet = Sheets("Sheet1")
    Dim targetWB as excel.workbook
    set targetWB = workbooks.open("pathToYourWorkbook") 
    With targetSheet
        .Range("A1:B10") .CopyPicture
        targetWb.sheets("sheetName").Paste
        Selection.Name = "pastedPic"

        With .Shapes("pastedPic")
            .Top = targetSheet.Cells(5, 5).Top
            .Left = targetSheet.Cells(5, 5).Left
            .Width = 50
            .Height = 50

        End With
    End With

End Sub

数据或图像的范围?我已经制作了一个范围的图像。如果你建议我这样做,我也可以保留为范围。有没有办法选择带有字母A1:C30的特定单元格,这表示我复制了该范围?我不明白这个布局。范围(.cells(1,1),.cells(3,3)).CopyPictureyeah我刚刚意识到复制是可以的,但我真的发现很难,因为我使用了CD、CC等列,很难找到它对应的数字:)那么我如何选择粘贴到的范围呢?我可以选择一个范围,让我的图像直接适合这个范围吗?我不这么认为。将图像粘贴到某个位置,然后设置其顶部和左侧(这将设置其位置),然后设置宽度和高度(这将是其大小)。您可以使用单元格的顶部、左侧、宽度和高度分布,当我放置范围时,您可以在单元格中选择图片所在的位置。当我尝试复制时,它会显示红色错误。使用带点的范围时,您需要指定图纸范围所属的范围。这就是为什么我使用with+end with block。你能发布一些代码吗?