VBA运行出错,提示子过程或函数未定义

具体见附图
2024-10-29 04:21:47
推荐回答(5个)
回答1:

出现这种情况,一般有两种可能。1、从网上找的程序,没有把相应的过程或函数一起找来。
2、对子过程(或函数)的定义不一致。
例如:子过程test1做在某个工作表中,设定的是private属性。然后在模块中有一个全局程序test要调用其这个子过程,那么就会出现这种错误。更改方法:将这个子过程设置成全局的(public),并放在模块中,这样就可以解决了。

回答2:

你好,很简单的调用问题
你主程序调用的是“带顶丝孔”函数,但子程序里面只有"明确带顶丝孔"
解决的办法是把"明确带顶丝孔"的明确去掉
-------------------------------------------
类型不匹配可能是[AB1]这种格式,改成Range("AB1"),所有相似的都要改

回答3:

Sub sn() Dim z1, z2, z3 As Long Dim i, cd As Integer cd = Sheets.Count z1 = 0 z2 = 0 z3 = 0 For i = 2 To cd Sheet2.Cells(i, 2).Value = Sheets(i).Name If i < cd Then For m = 2 To Sheets(i).Range("A65536").End(xlUp).Row If Sheets(i + 1).Cells(m, 3) = 1 Then z1 = Sheets(i + 1).Cells(m, 5) + z1 Sheet2.Cells(i + 1, 4).Value = z1 ElseIf Sheets(i + 1).Cells(m, 3) = 2 Then z2 = Sheets(i + 1).Cells(m, 5) + z2 Sheet2.Cells(i + 1, 7).Value = z2 ElseIf Sheets(i + 1).Cells(m, 3) = 1 Then z3 = Sheets(i + 1).Cells(m, 5) + z3 Sheet2.Cells(i + 1, 10).Value = z3 End If Next m End If Next End Sub

代码

回答4:

使用本函数之前,必须建立对规划求解加载宏的引用。在 Visual Basic 编辑器中,一个模块活动的情况下,单击“工具”菜单上的“引用”,然后选择“可使用的引用”下面的“Solver.xlam”复选框。如果“Solver.xlam”没有显示在“可使用的引用”下面,请单击“浏览”打开 \office12\library\Solver 子文件夹中的 Solver.xlam。

回答5:

第一个Sub程序代码不对。

Sub 主程序()
   Call 主接线盒
   Call 带顶丝孔
End sub