使用形状复制/粘贴单元格
如何复制一个形状与它所在的单元格? 当我手动复制的形状跟随细胞,但是当我用一个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.Left
和s.Top
值来更改其在单元格中的位置。
您现在可以使用Range("A3").Value = Range("A1").Value
将单元格的实际值复制到目标范围的值
尝试这个
Range("A1").Select Selection.Copy Range("B1").Select ActiveSheet.Paste