编译错误缺少数组的原因
㈠ VBA子函数输入是数组该怎么写提示错误(编译错误:类型不匹配,缺少数组或用户定义类型)
把LUDCMP的定义贴出来看看。
——————————
你还是没有把LUDCMP的定义贴出来啊。
我估计是你的LUDCMP过程参数写得有问题。
Sub LUDCMP(A(), N, INDX(), D)
如果你像上面那么写就肯定有问题
你要把类型指定清楚:
Sub LUDCMP(A() as Double, N as Integer, INDX() as Integer, D as Integer)
--------------------------
哦,你那样定义的啊。
我发现貌似是你的一个输入错误:
Call LUDCMP(al#(), N, INDX%(), p)
这里的al#没有定义。。。综观你的整个函数,没找到al的定义,是你不小心把a#()打成al#()了吗?
--
另外建议楼主以后所有变量在定义时都明确指明类型以减少出错的几率。
还有就是INDX%()这种写法已经不推荐了,应该用INDX() As Integer。其它的依此类推。。
㈡ vb 编译错误 缺少数组
可能在全局变量那里有一个STR的数组 这样就和保留字段混淆了 可以删除它
其实 你可以简化代码直接用n把trim(str$(n))这一段代替了就可以
㈢ VB中编译错误,类型不匹配:缺少数组或用户定义类型
你的数组 AA( ) 和 t()
在调用那个函数FuzzyEvalution( )之前,应该用Redim 来初始化,并对数组元素赋值。
比如:
redim AA(3, 4), t(5)
AA(0,0 ) = ...... '赋值过程你自己写
然后再:CC = FuzzyEvalution(AA(m, n), t(i))
这样,就没问题了。
㈣ VB中编译错误,类型不匹配:缺少数组或用户定义类型
你的数组
AA(
)
和
t()
在调用那个函数FuzzyEvalution(
)之前,应该用Redim
来初始化,并对数组元素赋值。
比如:
redim
AA(3,
4),
t(5)
AA(0,0
)
=
......
'赋值过程你自己写
然后再:CC
=
FuzzyEvalution(AA(m,
n),
t(i))
这样,就没问题了。
㈤ VB打开一个工程的时候,生成.exe文件就会出现“编译错误,缺少数组“的问题。
Format本来是一个VB内置的函数,你在这里却又定义一个字符串Dim Format As String,这样VB认为Format是字符串,不是函数了,所以Format(dayRtnDTP.Value, "yyyy-mm-dd") 这个被认为是数组,而你的Format定义的又不是数组,所以出错。
建议定义变量时不要用内置的函数的名称,Dim Format As String中的Format改一下就可以了。
如Dim strFormat As String ’这是VB建议的定义名称的方法,如果是字符串,前面加str
㈥ vb,求问一个小问题,这个代码运行以后,出现一个“编译错误:缺少数组或者用户定义类型”这是怎么回事
.
我觉得你写的有些不太妥的地方
1,arr1=Array(1,2,3,4)这个是用来定义数组的下标用的,不是用来赋值的.我这样写,定义的就是一个4维数组.你现在只需要一维四个元素,所以只要arr1=array(4)就OK了.
2,数组赋值应该像楼上那位仁兄一样,
3,传值,为什么要加小括号,我印象中直接把变量名放入括号就OK了?
4,我用word的VBA测试的,看不到print结果,所以改了msgbox.
5,VB已死,没必要研究了,如果想学桌面编程,试下其它的吧.比如C,C++,C#,java之类
㈦ vb定义后的数组显示缺少数组时什么原因
把
ReDim y(i)
ReDim x(i)
改成
ReDim y(9)
ReDim x(9)
㈧ VB打开一个工程的时候,会出现下图这个问题。
你那个路径里有没有MSCAL.OCX这个文件?
有的话还出现这样的提示你就点开始->运行
输入:regsvr32 F:\VB0036图书馆管理系统\源程序\MSCAL.OCX
㈨ 编译错误:缺少数组
可能在全局变量那里有一个STR的数组
这样就和保留字段混淆了 可以删除它
其实 你可以简化代码直接用n把trim(str$(n))这一段代替了就可以
㈩ Excel VBA编译错误:类型不匹配:缺少数组或用户定义类型
FunctionA_V_E(ary()AsVariant)
arr=Application.Transpose(Application.Transpose(ary))
Dimsumtemp
ForEachxInarr
n=n+1
sumtemp=sumtemp+x
Next
A_V_E=sumtemp/n
EndFunction
FunctionSt_De(ary()AsVariant)
Dimarr()
arr=Application.Transpose(Application.Transpose(ary))
DimX_ave
X_ave=A_V_E(arr)
Dimsum_x
ForEachxInarr
n=n+1
sum_x=sum_x+(x-X_ave)^2
Next
St_De=Sqr(sum_x/(n-1))
EndFunction
Subtest2()
Dimarr()
Dimresault
arr=Array(1,2,3,4)
resault=St_De(arr)
Debug.Printresault
EndSub