我制作了一个代码,可以创建用于打印的标签和条形码
由于其他原因(为简单起见),我在一张单独的纸张上放了一些标签,然后我需要转移到真正的纸张上。
我找到了一些关于CopyObjectsWithCells
的提及,但它对我不起作用。
Application.CopyObjectsWithCells = True
Sheets("Robot").Range("A1:L" & Lastrow).Copy
Sheets("Etikett").Range("A" & intRad).PasteSpecial Paste:=xlPasteAll
我得到相同的结果range().select
然后selection.copy
。
Sheets("Robot").Shapes.SelectAll
Selection.Copy
作品。但它使粘贴的图像成为一个大图像,而不是x小图像/形状。并在纸张上留下覆盖其他文字的白色背景 如果我在Excel中选择范围并按Ctrl + C / V,则会根据需要复制图像 但是对于VBA来说,它只是赢了工作。
答案 0 :(得分:2)
每当遇到问题时,可以用以下方式描述:
我已设法在Excel中手动执行此操作,但找不到正确的VBA代码。
一个好的解决方案是在VBA中使用宏录制器选项并查看它生成的代码,同时在Excel中执行手动操作。在您的情况下,这是它所做的代码,当它只是将两个形状复制到另一个工作表时:
Sub Makro2()
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select
ActiveSheet.Shapes.Range(Array("Rectangle 1", "Rectangle 2")).Select
Sheets("Tabelle2").Select
Range("B4").Select
ActiveSheet.Paste
Range("M25").Select
End Sub
这段代码真的很糟糕,但它有效,它可以为您提供进一步工作的良好见解。
答案 1 :(得分:1)
选择并复制包含形状的范围后,选择目标单元格,然后使用ActiveSheet.Paste
。
您使用的选项PasteSpecial Paste:=xlPasteAll
不会粘贴形状。