更改一个OLEObjects SourceName将更改其他工作表上的其他

时间:2018-08-02 22:02:53

标签: excel vba excel-vba excel-2007

我在Excel 2007中出现图片链接OLE对象的问题。

我有一个Excel工作簿(wb1),其中包含大约100个工作表。 每个工作表中都有几个图片链接,这些图片链接连接到一行单元格 在另一个工作簿(wb2)中。

当有人在wb2中插入新行时,wb1中的图片链接显示错误的信息。我可以更改图片链接OLEobject的SourceName,并使其显示正确的信息,这很好,但是当我这样做时,它更改了同一工作簿中其他工作表上其他图片链接的源名称。有办法解决吗?

Dim s As OLEObject

For Each ws In wb1.Worksheets
ws.Activate
currCount = 1
For Each s In ws.OLEObjects
    s.Select        
    'skip first row because it's the header
    If Not s.SourceName Like "*R1C*" Then       
            showRow = getRow
            newRow = Replace(rowCol, rowColSplit(0), "R" & showRow)
            s.AutoUpdate = False
            s.SourceName = Replace(s.SourceName, rowCol, newRow)
            s.Update
Next

0 个答案:

没有答案