gpt4 book ai didi

excel - 如何在 VBA 中使用 Excel 提示符引发错误

转载 作者:行者123 更新时间:2023-12-03 07:46:37 25 4
gpt4 key购买 nike

我有一些代码在两个单独的工作簿中查找具有给定工作表名称的值。

我想要做的是当第一个工作簿没有工作表时,而不是出现以下提示,它取消/抛出错误并使用错误处理转到第二个电子表格。我该怎么做呢?

Sheet Select Prompt

目前我正在使用这段代码来实现这一点:

fFormString1 = "'" & wkBookRef1 & firstShtName & "'!$L$6/1000"
fFormString2 = "'" & wkBookRef2 & firstShtName & "'!$L$6/1000"
Application.DisplayAlerts = False 'Does nothing to the prompt
On Error GoTo tryTwo 'Following only throws error when prompt is canceled
ThisWorkbook.Sheets("Place").Range("E53").Formula = "=" & fFormString1
GoTo endTen

tryTwo:
ThisWorkbook.Sheets("Place").Range("E53").Formula = "=IFERROR(" & fFormString2 & ","""")"
On Error Resume Next
endTen:
Application.DisplayAlerts = True 'Does nothing to the prompt

注意:我希望在理想情况下关闭电子表格来执行此操作。或者视觉上不存在以提高我的客户的操作速度和流畅度。

最佳答案

ExecuteExcel4Macro将从关闭的工作簿中返回一个值。如果工作表不存在,则会抛出错误 1004 'A formula in this worksheet contains one or more invalid references.ExternalWorksheetExists使用它来测试它是否存在工作表。

enter image description here

Function ExternalWorksheetExists(FilePath As String, FileName As String, WorksheetName As String) As Boolean

If Right(FilePath, 1) <> "\" Then FilePath = FilePath & "\"

On Error Resume Next
Call ExecuteExcel4Macro("'" & FilePath & "[" & FileName & "]" & WorksheetName & "'!R3C3")
ExternalWorksheetExists = Err.Number = 0
On Error GoTo 0

End Function

使用 ExecuteExcel4Macro 时,所有引用必须作为 R1C1 字符串给出。下面是一个有效字符串的例子:
ExecuteExcel4Macro("'C:\Users\tinzina\Documents\[Book1.xlsm]Sheet1'!R6C12")

关于excel - 如何在 VBA 中使用 Excel 提示符引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39090708/

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