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