【问题标题】:VBA - Calling function from within userform causes strange errorsVBA - 从用户窗体中调用函数会导致奇怪的错误
【发布时间】:2017-01-07 14:04:44
【问题描述】:

从用户窗体中的按钮执行子例程时,我在 Excel 中遇到一个奇怪的错误。

表单的目的是将新产品插入到一长串产品及其详细信息中。被调用的子例程在产品列表中选择一个范围并调用该范围的插入方法。

一旦执行了这个子例程,Excel 就会开始表现得很奇怪。如果我选择一个单元格并输入字符,然后按 Enter 单元格不会更新。无法对产品列表表进行任何修改,我什至无法通过按窗口右上角的 X 来退出 Excel。有时发生这种情况时,其他工作表中的行会发生偏移。

Excel 再次变得响应的唯一方法是导航到另一个工作表并修改一个单元格,这似乎使一切都变得正确。

当我从工作表上的按钮或宏菜单运行相同的子例程时,不会出现问题。

关于这里可能发生的事情有什么建议吗?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    您可以使用Selection.ShapeRange.Name 来获取所选形状的名称。如果 Selection.ShapeRange 没有 name 属性,您需要捕获将被抛出的 Error 5 'Invalid procedure call or argument

    将 ShapeName 调暗为字符串 出错时继续下一步 ShapeName = 选择.ShapeRange.Name 错误转到 0 If InStr(ShapeName, "Text Box") Then '做一点事 万一

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多