Tag: error handling

如果我不知道名称,如何检查button是否存在?

如果我不知道名称,是否有办法查看工作表上是否存在button? 我在“ThisWorkbook”中有工作簿打开时创build一个button的代码。 但是,如果button已经存在,我不希望它创build一个button。 所以我需要一种方法来检测button是否存在。 我有另一种方法,这不起作用,我将包括,只是因为! 单击button时,将创build一个名为“移调数据”的新工作表。 所以,如果button在那里,该工作表也在那里。 所以我试了下面的sub: Private Sub Workbook_Open() Dim btn As Button Dim rng As Range On Error GoTo Errorhandler Sheets("Transposed Data").Activate Errorhandler: MsgBox ("ERROR") With Worksheets("Program Sheet") Set rng = .Range("A4:C4") Set btn = .Buttons.Add(rng.Left, rng.Top, rng.Width, rng.Height) With btn .Caption = "Click here to continue" .AutoSize = True .OnAction = […]

Excelerror handling – 查找并返回员工ID

请求: 请帮助公式逻辑在两个可能的列(表数组内)中提供error handling和Vlookupfunction,并返回员工ID(数组中的第三列)。 目标: 创build一个自动填充考勤跟踪器,查找input的电话号码并将其员工ID返回到embedded式“名册”工作表上。 此外,我正在尝试提供跨两个电话号码的function。 “考勤跟踪”工作表表格布局:(重点用斜体) DATE | TIME | 来电显示 | TYPE | 原因| 详情| 雇员# | 等等… 来电显示= D列 员工#=第一列 VLOOKUP的“名册”工作表表格arrays H列=“主要联系人” 列I =“联系次要” J栏=“员工编号” 主要配方 “ First ”= VLOOKUP(D2,Roster!H:J,3,0)<—查询emp号码与“Contact Primary” “ Second ”= VLOOKUP(D2,Roster!H:J,2,0)<—查询emp number与“Contact Secondary” 我的尝试 = IF(D2 =“”,“”,IF(ISERROR(IF(ISERROR(VLOOKUP(First)),VLOOKUP(Second),VLOOKUP(First))),“Add#to Roster”,VLOOKUP(FIRST) ) 我的结果 “来电显示”留空 – 完美! 顶级if语句修复了空白。 “主要联系人”列中存在“来电显示” – 完美! 价值回报。 […]

下标超出范围错误9

试图这样做时,我不断收到错误信息: Dim MaxFileSize As Long … MaxFileSize = Application.WorksheetFunction.Max(Worksheets("'system32-he'").Range("B2:B24")) 我尝试了谷歌search,但没有任何有用的出现。

使用不存在的filter处理错误

我已经写了一些VBA代码来创build应该被自动过滤的数据透视表。 有两个可能的filter: 0和1 。 有可能两者都存在,但也可能只有其中之一存在。 我首先需要Excel将filter设置为0 ,并将一些行复制到另一个表(这就是Call b02_articleunit0所做的)。 如果这样做我希望Excel使用筛选器1做同样的事情,但不幸的是它不工作。 即使两个滤波器都存在,只有第一个(在这种情况下为0 )将被处理。 但它也应该处理第二个filter,并保存工作簿在最后与Call SaveXLS工作正常,如果它可以执行。 你有什么想法如何优化我的代码? Sub PivotTable() […] Dim pf As PivotField Set pf = ActiveSheet.PivotTables("PivotTable1").PivotFields("Abgleich_ME1_ME2") 'Remove existing filter pf.ClearAllFilters 'Filter on 0 On Error GoTo fehler0: pf.CurrentPage = "0" Call b02_articleunit0 Exit Sub fehler0: Worksheets("Übersicht").Range("D19").Value = "This filter isn't existing! (Filter 0)" Resume Next 'Filter […]

如何捕捉错误“文件未完全加载”

我有一个打开文本文件的代码。 它包含的行数超过了Excel的限制。 当手动打开它,有一个提示说:“文件未被完全加载”,但在macros时,我没有看到提示。 我想要做的就是抓住那个错误。 即使当我的macros的显示警报启用,仍然没有错误被捕获。 On Error Goto catch_err …open text file here On Error Goto 0 catch_err: Msgbox err.description 这是我的代码的结构。

电源查询Error.Record

我如何吐出logging,在工作簿查询窗格中显示为错误logging? 例如,如果[AcctClass] <> [_checkAcctClass]列不匹配,则拒绝该logging为错误 let source = AccountIDsWithDuplicates, grouped = Table.Group(source, {"AcctID"}, {{"AcctClass", each List.Max([AcctClass]), type logical}, {"_checkAcctClass", each List.Min([AcctClass]), type logical}, {"Sum_Bal", each List.Sum([#"Bal_EUR"]), type number}}), // Make sure accounts only have one AcctClass ErrorRecords = Table.SelectRows(grouped, each([AcctClass] <> [_checkAcctClass]) in grouped

如果工作簿正在使用,参考打开Wokrbook&创build错误消息

嗨,我有下面的代码,我想参考工作簿,所以我可以从一个已经打开的工作簿复制和粘贴数据。 但是我正在努力正确地引用工作簿。 谁能帮忙? 🙂 文件名是“Pics&Benefits upload file.xlsm” Workbooks.Open Filename:= _ "U:\FBS\PROJECTS_TEAM\MI\Sean's Projects\PICS and Benefits\Pics & Benefits upload file.xlsm" Dim PicsFile As String PicsFile = "Pics & Benefits upload file.xlsm" 如果其他人当前处于文件名“Pics&Benefits upload file.xlsm”,也就是说如果有其他用户在文件中,它将退出macros,我还想要发生错误消息。 (我不太确定如何做到这一点) 谢谢

无法为Excel UDF返回正确的错误types

我在Excel中写了一个相当简单的UDF,现在我添加了错误检查。 本质上它只是返回string中两个分隔符之间的子串。 如果没有find任何分隔符,我希望它返回#N / A错误(像MATCH那样)。 我是这样做的 If (start_delim_pos = 0 Or end_delim_pos = 0) Then MYFUNCTION= CVErr(xlErrNA) End If 但是,我收到#VALUE错误。 不pipe我放在CVErr函数中,我得到一个#VALUE错误。 任何想法可能是什么问题,以及如何获得所需的错误返回?

VBAerror handling:捕获和重新抛出不传播

我正在研究一个相当大的VBA应用程序,并希望确保我能够很好地处理错误。 在我的调用子/函数我想赶上错误,并将其传递给全局error handling程序。 我的解决scheme是基于: Dymeng – Rethrow Errors和ExcelMacroMastery 全局error handling程序构build调用堆栈,然后重新引发错误。 我遇到的问题是重新提高全局error handling程序上的错误不返回到调用上下文的程序stream,而是显示一个VBA错误模式。 在下面的示例中,SQL查询尝试插入具有重复索引的行。 这会触发PRIMARY KEY约束错误的冲突。 全局error handling程序(在模块UTIL_ErrorHandler中): Sub HandleError (ByVal p_Error As DO_Error) ' Manipulate the error data '… 'Clear the error and re-raise 'REMOVED in response to Wayne's answer: On Error GoTo 0 Err.Raise p_Error.Number, p_Error.Source, p_Error.Description End Sub 调用代码(在UTIL_Database类中) Public Function Query (ByVal […]

错误:Microsoft Excel已停止工作 – 但我没有改变任何东西

我有一个inheritance的电子表格,自动运行一些VBA代码,然后退出。 这是在十月初的最后一次运行,运行良好。 现在,它失败,这个错误: Microsoft Excel已停止工作 Windows可以尝试恢复您的信息并重新启动程序。 – >重新启动程序 – >debugging程序 如果我尝试重新启动,它会给我 自动化错误发生exception。 (实际上,它通常只给我closures或debugging程序的选项,但我在一台机器上有一次重启选项,所以这是另一个信息点。) 它将一组文件名加载到数组中,然后读取它们以便将数据加载到数据库中。 对于那些没有改变的文件,从2015年开始是失败的.Excel本身也没有改变,但这并不意味着没有一些升级到Office的行为会使其行为有所不同。 我倾向于error handling,而不是像过去那样跳过一个错误。 下面的代码一旦到达一个没有值的数组条目,就会失败: FName = Array("april2010.xls", "feb2010.xls", "jan2010.xls", "july2010.xls", "june2010.xls", _ "mar2010.xls", "may2010.xls", "sep2010.xls", "..\FINAL-MO-BAL-2011\APRIL2011.xls", _ "..\FINAL-MO-BAL-2011\AUG2011.xls", "..\FINAL-MO-BAL-2011\DEC2011.xls", _ "..\FINAL-MO-BAL-2011\FEB2011.xls", "..\FINAL-MO-BAL-2011\JAN2011.xls", _ "..\FINAL-MO-BAL-2011\JULY2011.xls", "..\FINAL-MO-BAL-2011\JUNE2011.xls", _ "..\FINAL-MO-BAL-2011\MARCH2011.xls", "..\FINAL-MO-BAL-2011\MAY2011.xls", _ "..\FINAL-MO-BAL-2011\NOV2011.xls", "..\FINAL-MO-BAL-2011\OCT2011.xls", _ "..\FINAL-MO-BAL-2011\SEP2011.xls", FName2, FName3, FName4, FName5, FName6, _ FName7, FName8, […]