【问题标题】:To see the value selected (excel vba code)查看选择的值(excel vba 代码)
【发布时间】:2018-07-31 14:01:06
【问题描述】:

我是 Excel VBA 的新手,我正在尝试编写代码以使 Excel 快速显示条目所在的行。我正在处理的条目在一个单元格中有两个条目(“vbnewline”)。这是我的代码,我不断收到的错误是

"对象'worksheetfunction'的运行时错误'1004'方法匹配 失败”:

如果有人不介意提供帮助,我们将不胜感激。

我想要一个代码公式,当我选择一个条目并单击继续时,它会告诉 excel 闪现目标行,这基本上是我的问题。

电子表格

由动态范围填充的组合框

主用户表单代码

编辑我卡住的用户表单代码

【问题讨论】:

  • ColumnC_Menu的值是多少?和Range("Dyn_Business_Name_Website")?正确答案应该是什么?
  • columnC_Menu 是一个组合框,由单元格的动态范围条目填充,这些值的条目由 vbnewline 连接。
  • 如果您将组合框中的值硬编码到公式中,它会返回预期值吗?尝试缩小产生问题的部分。这很可能与新线路有关。正如另一个人提到的那样,在这种情况下的示例输入预期输出将非常有帮助。
  • 为了帮助您,我们需要更多信息。请edit您的问题,以便清楚地识别所涉及的数据。您得到的错误意味着WorksheetFunction.MatchSheets("Data").Range("Dyn_Business_Name_Website") 中没有找到与ColumnC_Menu 的完全匹配项。如果您编写了一个完全相同的 Excel 公式,那么该公式的计算结果也会出错。如果有帮助,请随意包含数据的屏幕截图。我是否正确理解 ColumnC_Menu 没有 vbNewLine 字符但查找范围有?
  • 此外,代码当前假定匹配确实找到它正在寻找的东西。添加适当的错误处理,或使用后期绑定的Application.Match 函数(需要在Variant 中捕获返回值,并使用IsError 验证返回值),将允许您处理匹配失败的情况。

标签: vba excel


【解决方案1】:

我遇到了类似的问题。由于 OP 似乎仍然没有令人满意的答案,我想我也会在这里添加我的情况。我希望这不是失礼!

我有一个带有 ComboBox 的用户窗体,它将提供下拉选择。当用户在组合框中选择一个项目并点击“继续”时,我希望调用与该记录关联的数据以在下一个用户窗体中使用。我正在观看有关如何执行此操作的视频,他的代码与我的相同,并且运行良好。我在mac上,他在pc上。 Screen Grab of functioning code from YouTube video

这是我所拥有的:

Private Sub ContinueButton_Click()

Dim TargetRow As Integer    'variable for output

'Define variable using excel formula "Match"(ComboButton_name, Sheets("sheet with data on it").Range
'("Named dynamic range"), 0)

TargetRow = Application.WorksheetFunction.Match(Combo_Task_Select, Sheets("Tasks").Range("Dyn_AllTasks"), 0)

MsgBox TargetRow    'display result for verification of code function

End Sub`

【讨论】:

  • 如果我将文本(而不是数字)放入目标范围,则该代码似乎确实有效。不知道为什么会有所作为,但似乎有所不同。
猜你喜欢
  • 2016-05-25
  • 2018-05-04
  • 1970-01-01
  • 2020-12-13
  • 2015-04-28
  • 1970-01-01
  • 2011-09-16
  • 1970-01-01
  • 2016-03-08
相关资源
最近更新 更多