excel - 我该如何处理: “No item of this name exists in the PivotTable report.” 错误

标签 excel vba error-handling pivot-table userform

因此,我通过用户窗体内的命令箱修改了数据透视表。如果用户键入的名称不在列表中,则会出现错误

No item of this name exists in the PivotTable report. Rename Name1 to Name2?



其中Name1是列表中的人,而Name2是列表中的人。

我实际上收到此错误,例如我的命令箱修改的数据透视表的数量的5倍b/c。

我尝试了以下方法:
On Error Resume Next

我希望这可以简单地“跳过”问题。不,那没有解决哈哈。

尽管理想情况下,我想创建一个自定义错误消息,该消息仅 pop 一次(而不是5次),并告诉用户输入其部门/类次的名称。列表(我的命令箱使用的)总体上包含每个部门的每个类次的每个人,但不是所有人都在数据透视表中有数据,因此,b/c只是他们在我的命令箱用户列表中,他们不一定在数据透视表中。我知道这很令人困惑,但是我必须以这种方式使所有类次都使用相同的界面。我无权访问部门,类次等内的人员列表。我只有每个人的主列表,因此这就是我的命令箱必须使用该列表的原因。

我还是VBA的“新手”,但对于一般的错误处理我并不陌生。我知道我将如何用Java处理此问题,而不是VBA。

这是代码的一部分,但失败了:
Range("D2").Select 
ActiveCell.Value = frmInd_Productivity_TrackerPS.ComboBox1.Value
ActiveSheet.Range("B1").Select
ActiveCell.Value = Range("F2").Value

更新:
我尝试在代码的开头添加以下内容,但这即使人在数据透视表中且事情正常运行时,也会 pop 错误框。不知道为什么没有错误时为什么会 pop MessageBox!?!
On Error GoTo ErrHandler:

ErrHandler:
' error handling code
Resume ErrMessage:

ErrMessage:
MsgBox "Name not found in this Department. Please Enter a New Name from this Department."
Exit Sub

更新:似乎 pop 的框是一个“警报”,而不是一个“错误” ????如果我禁用了所有警报,则不会 pop ,但是也没有机会警告用户输入的名称不正确,并且该名称会自动重新分配(我不想要!!!)。有什么想法吗?我可以使用类似“警报时转到”的代码吗?

最佳答案

我找不到想做的方法。我确实找到了解决方案。

解决的问题(应用创可贴):

我做了一个新的工作表,从组合框中调用了信息。它对其进行了转换,然后使用它来使用循环检查该信息是否出现在我的数据透视表上。然后,我根据是否找到结果(存储在新变量中)为结果分配了一个变量。如果结果为1,则“If”语句将执行程序的整个块。如果结果为0(表示未在数据透视表上找到名称),则会 pop 一条消息,要求更改名称并退出子项。希望这对以后的人有所帮助。

关于excel - 我该如何处理: “No item of this name exists in the PivotTable report.” 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34495530/

相关文章:

vba - 根据列的内容自动调整 Excel 中的列大小

excel - MSXML2.XMLHTTP 可以与 Chrome 一起使用吗

php - 基于应用程序的错误记录/处理?

python - 未找到命名游标的模块

error-handling - 使用组合器简化Rust匹配

excel - 当修改的工作簿日期/时间大于另一个时运行的 VBA 宏

html - 在电子邮件的 HTML 文本中插入当前日期

excel - Excel中的RANDBETWEEN

c# - 在 Excel 中的 Excel 表的开头添加新列

具有隐藏行的 Excel 组