2015-04-22 66 views
3

我想要求帮助。我手上有很多excel表格,每行都有一张图片。当我复制和粘贴行时,图片也被复制到粘贴的行中。但是,当我想要删除行时,图片不会被删除。相反,它隐藏在下一行图片的后面。我如何在删除行时自动删除图片?

此外,当我排序/过滤列表,图片似乎并没有遵循。图片保持在相同的位置,但所有其他值都被分类/过滤。我的工作是删除和随机化一些条目,所以你可以想象我的所有顽固的图片,只是拒绝属于自己的行,我的困境。目前,我可以过滤,突出显示要删除的单元格,不需要过滤(以便图片与行匹配),删除图片,然后手动删除行。至于随机化,我坚持认为在Excel中使用“RAND()”函数需要对行进行排序,这会弄乱图片。

如果有人能够提供解决方法来解决这个问题,我将不胜感激。这个论坛主题http://www.ozgrid.com/forum/showthread.php?t=85597也描述了我正在经历的事情。但是,当我尝试VBA代码时,它说“运行时错误13”,我不知道这意味着什么。尝试这个代码是我第一次尝试使用VBAs和宏,但我非常有信心,我遵循了如何正确添加和运行它们的说明。它在句子For Each sh In Shapes处进行调试。

一些更多的细节: 我的图片属性被设置为“移动和大小与细胞”。 每行只有一张图片,不包括标题。如果你们需要我发送excel文件,我不能这样做,因为它包含私人信息。但是,我可以更改数据。希望能工作!

回答

0

图片浮动上述细胞:

enter image description here

左上 - 手角是在细胞B2 ............我们可以用它来决定删除该行之前删除之前的图片。因此,如果我们想删除列#2及其相关图片:

Sub dural() 
    Dim shp As Shape, rng As Range 
    Dim WhichRow As Long 

    For Each shp In ActiveSheet.Shapes 
     Set rng = shp.TopLeftCell 
     WhichRow = rng.Row 
     If WhichRow = 2 Then shp.Delete 
    Next shp 
End Sub 

然后删除列#2