使用形状复制/粘贴单元格

如何复制一个形状与它所在的单元格? 当我手动复制的形状跟随细胞,但是当我用一个macros来做,我得到的一切,但形状。

Cells(sourceRow, sourceColumn).Copy Cells(targetRow, targedColumn).PasteSpecial 

 Range("A1").copy Range("B2").PasteSpecial Operation:=xlPasteAll 

我尝试了所有我能想到的…但形状不会移动。

录制手动复制/粘贴,这就是我得到的:

 Range("A1").Select Selection.Copy Range("A3").Select ActiveSheet.Paste 

我会做这样的事情,以避免实际上select单元格:

 Sub MoveShape() Dim s As Shape Dim T, L, celWidth, shpWidth, celHeight, shpHeight As Double Dim rng As Range Dim ws as Worksheet Set s = ws.Shapes(1).Duplicate ''You'll have to get the index of the shape you want to copy Set rng = Range("A3") ''Set this to your target range T = rng.Top L = rng.Left celWidth = rng.Width shpWidth = s.Width celHeight = rng.Height shpHeight = s.Height s.Top = T + (celHeight - shpHeight) / 2 s.Left = L + (celWidth - shpWidth) / 2 End Sub 

这将复制你的形状,并把结果克隆在你的目标范围的中心。 您可以通过修改s.Lefts.Top值来更改其在单元格中的位置。

您现在可以使用Range("A3").Value = Range("A1").Value将单元格的实际值复制到目标范围的值

尝试这个
之前

 Range("A1").Select Selection.Copy Range("B1").Select ActiveSheet.Paste 

后