gpt4 book ai didi

excel - 防止每次修改带有链接的单元格时打开 "Update Values:"对话框

转载 作者:行者123 更新时间:2023-12-02 05:40:47 24 4
gpt4 key购买 nike

快速版本:我正在使用的文件中的链接已损坏,因为它们指向其他人的硬盘驱动器。别人的文件中的宏出错,通过在公式前附加撇号将所有公式转换为文本。我编写了一个宏来解决此问题,但文件中有大量外部链接。该宏本质上是将公式从第一行更改为下面的第二行,只不过删除了不必要的撇号。

1) '='C:\OtherPersonsFolderPath\[FileName.xlsm]Sheet1'!A1
2) ='C:\OtherPersonsFolderPath\[FileName.xlsm]Sheet1'!A1

如果我手动执行此操作,Excel 将打开一个对话框,要求我通过指向正确的文件来“更新 FileName.xlsm 中的值”。不过,我不想更新文件路径:我计划将其返还给文件的原始所有者,所有路径都完好无损,没有撇号。如果我点击该对话框上的“取消”按钮,我就会得到预期的效果:公式更新为我需要的内容,并且值更改为工作链接时的值。如果我每次弹出该框时手动点击“取消”,效果就很好,但我有数千个单元格需要在数十张工作表中迭代。我需要一种方法来告诉 VBA 在该框中说“取消”,或者首先阻止该框出现。有任何想法吗?我的代码如下:

Public Sub MyBugFix()

Application.Calculation = xlCalculationManual
'Note that I unsuccessfully tried options like "ThisWorkbook.UpdateLinks = xlUpdateLinksNever" and "Application.DisplayAlerts = False" here

Dim WS_Count As Integer
Dim I As Integer

WS_Count = ActiveWorkbook.Worksheets.Count

For I = 1 To WS_Count
Sheets(I).Visible = True
Sheets(I).Select
Range("A1:BZ400").Select

'Simple fix for embedded apostrophes in formulas (e.g., an equals sign in an IF statement)
Selection.Replace What:="'=", Replacement:="=", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

'More complex fix for apostrophes at the start (they're special characters, so the find/replace trick doesn't work)
Dim myRng As Range
Dim myCell As Range
Set myRng = Nothing
On Error Resume Next
Set myRng = Intersect(Selection, _
Selection.Cells.SpecialCells(xlCellTypeConstants))
On Error Resume Next

For Each myCell In myRng.Cells
If myCell.PrefixCharacter <> "" Then
myCell.Value = "" & myCell.Text
On Error Resume Next
End If
Next myCell
Next I

Application.Calculation = xlCalculationAutomatic

End Sub

最佳答案

我在这里找到了解决方案:http://www.mrexcel.com/forum/excel-questions/506273-turn-off-update-values-dialog-box.html所以我不能因此获得任何荣誉!

在编辑公式之前将其放入...

ThisWorkbook.UpdateLinks = xlUpdateLinksNever

完成编辑后将其重新打开...

ThisWorkbook.UpdateLinks = xlUpdateLinksAlways

这为我解决了类似的问题,我当时使用 VBA 编写包含对其他电子表格的引用的单元格公式。所有功劳均归于 MrExcel 论坛上的 AlphaFrog!

关于excel - 防止每次修改带有链接的单元格时打开 "Update Values:"对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26722693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com