【问题标题】:Copy/Paste values, formats, and pictures (not formulas)复制/粘贴值、格式和图片(不是公式)
【发布时间】:2016-04-25 16:47:40
【问题描述】:

我有一个范围(在不同的工作簿中),我希望将值、格式和图片复制到不同的范围内(带有 vba scipts 的活动工作簿)。复制/粘贴发生多次,最多 50 次(每页为一页,最多 50 页)。我已经开始使用 xlPasteValues 和 xlPasteFormats,图片预先复制在 50 个范围内(图片相同,每个范围在相同位置重复)。该工作簿占用了一些空间,我想通过复制图片来调整其基本大小,而不是预先复制 50 个大多数未使用的集合。

之前的代码看起来是这样的(不复制图片 - 我以前已经复制了所有图片,但这会占用空间):

Set rngImportCopyRange = Range(wksImportedPeakHour.Cells(1, 1), wksImportedPeakHour.Cells(65, 34))
rngImportCopyRange.Copy
wksStartHere.Cells(intRowStartHere, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
rngImportCopyRange.Copy
wksStartHere.Cells(intRowStartHere, 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False  

其中“wksImportedPeakHour”是具有被复制范围的工作表(总是在同一个位置,在右边的列中有我不想要的数据),“intRowStartHere”是一个整数,用于跟踪所在行粘贴范围。

我尝试在 xlPasteFormats 之前添加“Application.CopyObjectsWithCells = True”,但尝试这样做时出错。

使用以下代码直接复制/粘贴会复制所有内容,但其他工作簿的公式也会被复制,而不是值(不好):

rngImportCopyRange.Copy wksStartHere.Cells(intRowStartHere, 1)  

现在,我可以复制所有内容,然后取消合并单元格(有些单元格已合并,合并时我无法粘贴特殊的 xlPasteValues),然后粘贴值,然后粘贴公式 - 如下所示:

Set rngImportCopyRange = Range(wksImportedPeakHour.Cells(1, 1), wksImportedPeakHour.Cells(65, 34))
rngImportCopyRange.Copy wksStartHere.Cells(intRowStartHere, 1)

Set rngUnMerge = Range(wksStartHere.Cells(intRowStartHere, 1), wksStartHere.Cells(intRowStartHere + 64, 34))
rngUnMerge.UnMerge

rngImportCopyRange.Copy
wksStartHere.Cells(intRowStartHere, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

rngImportCopyRange.Copy
wksStartHere.Cells(intRowStartHere, 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

但上述内容是三个复制/粘贴操作和一个取消合并。我希望有一些特殊的操作或技巧可以让脚本无法运行。感谢您的帮助,谢谢!

【问题讨论】:

    标签: image vba excel copy-paste


    【解决方案1】:

    如果您在某个形状中有一个图像副本,并且已经嵌入到您的工作簿 (Application.sheets(x).Shapes.AddPicture),您只需将该形状(而不是图像)复制到您想要的任何工作表和单元格中。有多种方法可以无需形状即可,但某些版本的 Excel 不喜欢这些方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-20
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多