首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA excel + PAste特殊形状

VBA excel + PAste特殊形状
EN

Stack Overflow用户
提问于 2018-03-26 09:47:40
回答 1查看 7.2K关注 0票数 1

在工作表中插入图片(并保存在文档中)有问题。我不是VBA方面的专家,所以我真的需要有人帮我找到错误。

以下是代码:

代码语言:javascript
运行
复制
copy/paste image0 Sheets("Ficha_AMV").Select Range("c3").Select Selection.Copy ws.Select Range("c3").Select 'ActiveSheet.Paste ActiveSheet.PasteSpecial Format:="Picture (JPEG)", Link:=False, _ DisplayAsIcon:=False

因此,在C3中的sheet "Ficha_AMV“中,我有一张图片,我的目标是将它复制到一个新工作表("ws")。我需要将这张图片保存在ws工作表中(而不是链接)。

所以我试着

activesheet.paste及其与链接的复制

然后我试着

代码语言:javascript
运行
复制
ActiveSheet.PasteSpecial Format:="Picture (JPEG)", Link:=False, _DisplayAsIcon:=False

并返回以下错误

运行时错误‘1004’:工作表类的PasteSpecialo方法失败

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-26 11:12:12

如果它已经作为图片存在,那么使用对象的名称。

代码语言:javascript
运行
复制
Option Explicit

Sub test()

    Dim wb As Workbook
    Dim wsSource As Worksheet
    Dim ws As Worksheet

    Set wb = ThisWorkbook
    Set wsSource = wb.Worksheets("Ficha_AMV")
    Set ws = wb.Worksheets("Sheet1")             'change as appropriate

    Dim pic As Shape

    Set pic = wsSource.Shapes("Picture 2")       'change as appropriate

    pic.Copy
    ws.Range("C3").PasteSpecial

End Sub

如果它还不是一张图片,请使用:

代码语言:javascript
运行
复制
Option Explicit

Sub test()

    Dim wb As Workbook
    Dim wsSource As Worksheet
    Dim ws As Worksheet

    Set wb = ThisWorkbook
    Set wsSource = wb.Worksheets("Ficha_AMV")
    Set ws = wb.Worksheets("Sheet1")             'change as appropriate

    wsSource.Range("C3").CopyPicture
    ws.Range("C3").PasteSpecial

End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49488477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档