dim和redim 在这里起什么作用?为什么测试去掉dim句效果是一样的。还有T$和T有何区别,效果在此一样呀。

如题所述

Dim用来定义数组名及其具体类型,大小可以暂时不确定,也可以指定

ReDim根据实际情况来动态调整数组的大小,如果不加Preserved关键字,那么原有数据丢失,否则保持原有数据(数组缩小的话丢失多余的)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-10
Dim的意思是声明对象,如果前面没有加Option Explicit就不必声明,但有对象数组还是要声明的,比如Dim a() As String为声明a数组为字符串变量。现在用a = Split("a/b/c", "/")得出的a元素值0为a,1为b,2为c。而不声明则会认为a为普通对象,而非数组。
举个例子:
Option Explicit
Private Sub Command1_Click()
Dim a As Integer
a = 12
End Sub
如果没有Dim a As Integer则会出错:没有声明a对象。
去掉Option Explicit则可去掉Dim a As Integer。
Private Sub Command1_Click()
Dim a() As String
a = Split("a/b/c", "/")
Print a(0) & a(1) & a(2)
End Sub
这时输出的值是“a”、“b”和“c”。
而去掉Dim a() As String则会出错:元素数组未定义。因为任何元素数组都要经过定义,否则会识别成普通变量。
T加不加$都可以,因为这只是对象,并没有在前面指定是String变量。前面没有加Option Explicit,所以不用声明。使用对象是为了记录数值,可以这样使用:S(I) = InputBox("EnterName")
程序中用了两个For语句,用一个就可以了,把第二个的Print S(I)直接移到第一个For语句,删掉第二个For语句就可以了。本回答被提问者采纳
相似回答