Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 将多个图像作为单独的图像从一个工作簿复制到另一个工作簿_Image_Vba_Excel - Fatal编程技术网

Image 将多个图像作为单独的图像从一个工作簿复制到另一个工作簿

Image 将多个图像作为单独的图像从一个工作簿复制到另一个工作簿,image,vba,excel,Image,Vba,Excel,2003年,该准则运行良好,我们刚刚更新到2010年,它影响了我们即将提出的提案 我一直在多个网站上寻找,我尝试过的每件事都会将所有图片粘贴到一个分组图像中,或者给我多个框,表示无法查看图像 图片将始终位于列L中,但它可以是一张图片或50张图片,甚至可以没有。因此,我需要能够选择所有图像,复制和打开另一个工作簿,并以相同的格式和单独的图像粘贴到指定列中,而不是作为一个单一的图像,这是我现在得到的。任何帮助都将不胜感激。下面是我尝试过的最新代码,粘贴时仍然得到“单个分组图像” Windows(ou

2003年,该准则运行良好,我们刚刚更新到2010年,它影响了我们即将提出的提案

我一直在多个网站上寻找,我尝试过的每件事都会将所有图片粘贴到一个分组图像中,或者给我多个框,表示无法查看图像

图片将始终位于列L中,但它可以是一张图片或50张图片,甚至可以没有。因此,我需要能够选择所有图像,复制和打开另一个工作簿,并以相同的格式和单独的图像粘贴到指定列中,而不是作为一个单一的图像,这是我现在得到的。任何帮助都将不胜感激。下面是我尝试过的最新代码,粘贴时仍然得到“单个分组图像”

Windows(ourName2).Activate
Sheets("Sheet5").Select
On Error Resume Next
ActiveSheet.Pictures.Copy
Windows("Proposal.xls").Activate
Sheets("Sheet2").Select
ActiveSheet.PasteSpecial Range("L7")
更新时,尝试使用此代码会在
Set wbSource=Workbooks(“ourName2”)行引发错误。

这对我很有用:

Sub test()
    ActiveSheet.Pictures.Copy
    With Workbooks("temp.xls").Sheets("Sheet1")
        .Parent.Activate
        .Activate
        .Range("L7").Select
        .Paste
    End With
End Sub

和蒂姆一样,这对我来说很有效,结果是没有分组的图片。您应该没有任何理由需要激活相应的工作表

问题似乎是您使用的是
PasteSpecial
方法,而不是
Paste
。我家里有一个2003年的盒子,我可以在上面进行验证,但是在2010年的Excel上,
PasteSpecial
方法将多张图片作为一个对象进行传递,而
Paste
将它们分别放在一起

Sub CopyAllPictures()
Dim wbSource As Workbook
Dim wbDest As Workbook
Dim shSource As Worksheet
Dim shDest As Worksheet
Dim shp As Shape

Set wbSource = Workbooks("Book12")          'modify as needed
Set wbDest = Workbooks("Book13")            'modify as needed

Set shSource = wbSource.Sheets("Sheet1")    'modify as needed
Set shDest = wbDest.Sheets("Sheet1")        'modify as needed

shSource.Pictures.Copy
shDest.Range("L7").Paste


End Sub

因此,当我打开工作簿时,我根据上面的内容(见下面我的内容)对其进行了更改-没有图片,没有占位符,没有任何内容。还有其他想法吗?Windows(我们的名称2)。激活工作表(“Sheet5”)。出错时选择继续下一个ActiveSheet.Pictures.Copy Windows(“MPlanner.xls”)。激活工作表(“MAudit”)。使用工作簿(“temp.xls”)。工作表(“Sheet1”)。父级。激活。激活。范围(“L7”)。选择。粘贴结束,我将获得“调试”设置wbSource=工作簿(“我们的名称2”)Dim wbSource作为工作簿Dim wbDest作为工作簿Dim shSource作为工作表Dim shDest作为工作表Dim shp作为形状集wbSource=工作簿(“我们的名称2”)时出错“根据需要修改设置wbDest=工作簿”(“MPlanner.xls”)'根据需要修改Set-shSource=wbSource.Sheets(“Sheet5”)'根据需要修改Set-shDest=wbDest.Sheets(“MAudit”)'根据需要修改shSource.Pictures.Copy shDest.Range(“L7”)。粘贴什么错误消息?该行中的错误表明指定工作簿当前未打开(或者可能是拼写错误)。您需要打开工作簿。
Sub CopyAllPictures()
Dim wbSource As Workbook
Dim wbDest As Workbook
Dim shSource As Worksheet
Dim shDest As Worksheet
Dim shp As Shape

Set wbSource = Workbooks("Book12")          'modify as needed
Set wbDest = Workbooks("Book13")            'modify as needed

Set shSource = wbSource.Sheets("Sheet1")    'modify as needed
Set shDest = wbDest.Sheets("Sheet1")        'modify as needed

shSource.Pictures.Copy
shDest.Range("L7").Paste


End Sub