我在WB1中有一个报告仪表板,该仪表板已链接了另一本工作簿WB2(粘贴/特殊粘贴/链接的图片)中的图表图片
销售团队正在更新WB2,除非两个工作簿都打开,否则WB1中的链接图片不会更新。
因此,我通过在WB1中实现一个按钮来打开和关闭WB2并更新链接的方法来解决此问题。
现在由于某种原因而停止工作。我所做的唯一更改是将WB2更改为带有宏的工作簿(现在,当添加新值时,它将自动更新所有图形)。
SELECT
p.ProductId
, p.TotalDiamondWeight
, p.GemType
, p.StoneCut
FROM
(
SELECT ProductId,
Caption,
Value,
ROW_NUMBER() OVER (PARTITION BY Caption ORDER BY Value) RN
FROM @temp
) x
PIVOT
(
MAX(Value)
FOR Caption IN ([StoneCut], [GemType], [TotalDiamondWeight])
) p;
问题在于,即使我返回到非宏WB2的旧方法,该按钮也会停止刷新图片链接,并且只有在您手动打开它们或同时打开两个工作簿的情况下,它们才会刷新。
还有其他方法可以更新链接的图片吗?这让我发疯了,因为在我尝试节省时间和自动刷新WB2图形之前,它工作得很好。
答案 0 :(得分:0)
扩大我的评论。以这种方式更新它们会使最终用户看起来无缝,并给人一种错误的印象,即目标工作簿未“打开”
Sub Gumb214_Klikni()
'Button to open and close WB2
Dim xlApp As New Excel.Application
Dim xWb As Workbook
Dim wbName As String
On Error Resume Next
With xlApp
.Visible = False
Set xWb = .Workbooks.Open("path to link")
End With
wbName = xWb.Name
Workbooks("name of folder").Close
If Err.Number <> 0 Then
MsgBox "This workbook does not exist!", vbInformation, "ERROR"
Err.Clear
Else
' Update pictures here via whatever method and save&close the destination workbook
MsgBox "TEXT"
End If
' Quit the second instance of the application
With xlApp
.Quit
End With
End Sub