WorksheetFunction 所需的对象
Object required for WorksheetFunction
我有一个包含 2 个下拉列表的用户表单,我在公式中使用这些列表的值来向用户显示结果。我在将公式结果存储在变量中并将其显示在消息框中时遇到问题。我有下面的代码,但它会抛出 "Object required" 错误。我看过一些将结果放在单元格中的公式示例,但我不需要在消息框以外的任何地方显示我的值。关于导致我的代码失败的原因有什么想法吗?
Dim selBranch As String
Dim selSkillTitle As String
Dim result As Variant
selBranch = frmQuery.cboBranch.Value
selSkillTitle = frmQuery.cboSkillTitle.Value
result = WorksheetFunction.AverageIfs(skill_prof, branch, selBranch, skill_title, selSkillTitle)
MsgBox "Query Result" & vbNewLine & "--------------" & vbNewLine & _
"Branch: " & branch & vbNewLine & _
"Skill Level: " & skillTitle & vbNewLine & vbNewLine & _
"Average Skill Proficiency: " & CStr(result), vbInformation
skill_prof
、branch
和 skill_title
都是我工作簿中的命名范围。
WorksheetFunction.AverageIfs(....)
期望一些范围变量而不是未声明的空变量。
您提到它们是命名范围,因此您需要正确的语法来引用它们,可能以多种方式这样做,这里是一个:
Dim skill_prof as range: Set skill_prof = Worksheets("WhicheverSheet").Range("skill_prof")
'Etc
以上将确保您可以在代码中使用相同的公式。只需确保这些命名范围 大小相等 =)
我有一个包含 2 个下拉列表的用户表单,我在公式中使用这些列表的值来向用户显示结果。我在将公式结果存储在变量中并将其显示在消息框中时遇到问题。我有下面的代码,但它会抛出 "Object required" 错误。我看过一些将结果放在单元格中的公式示例,但我不需要在消息框以外的任何地方显示我的值。关于导致我的代码失败的原因有什么想法吗?
Dim selBranch As String
Dim selSkillTitle As String
Dim result As Variant
selBranch = frmQuery.cboBranch.Value
selSkillTitle = frmQuery.cboSkillTitle.Value
result = WorksheetFunction.AverageIfs(skill_prof, branch, selBranch, skill_title, selSkillTitle)
MsgBox "Query Result" & vbNewLine & "--------------" & vbNewLine & _
"Branch: " & branch & vbNewLine & _
"Skill Level: " & skillTitle & vbNewLine & vbNewLine & _
"Average Skill Proficiency: " & CStr(result), vbInformation
skill_prof
、branch
和 skill_title
都是我工作簿中的命名范围。
WorksheetFunction.AverageIfs(....)
期望一些范围变量而不是未声明的空变量。
您提到它们是命名范围,因此您需要正确的语法来引用它们,可能以多种方式这样做,这里是一个:
Dim skill_prof as range: Set skill_prof = Worksheets("WhicheverSheet").Range("skill_prof")
'Etc
以上将确保您可以在代码中使用相同的公式。只需确保这些命名范围 大小相等 =)