VB 自定义数据类型请问

VB 自定义数据类型请教
本帖最后由 lengyeshuang 于 2015-01-18 23:01:27 编辑
近来编一段程序,需要自定义一个数据结构,但网上和教材讲得有限,有一个地方实在搞不懂,特来请教。
以下的例子只是为了说明问题,所以请不必讨论算法的优劣。

类例:
有一个工作薄,内有30张工作表,每张工作表,共A,B两列,1000行。A列是数字,B列是字符,其中A列应该是B列的ASC码
现检验B列到底是不是A列的ASC码,如果不是,就将错误地址和应该的数值标出来。

定义单条错误记录的数据结构如下:
Type RECORD
  address As String * 4  '数据地址
  original As String     '原B列错误字符
  modify   As String     '应该正确字符
End Type


定义每张工作表的数据错误结构:
Type RECORDS
   num As Integer     '错误的个数
   item() As RECORD    '错误数的数组  (经测试,显然这样定义是错误的,发贴的目的就是求正确代码)
End Type

'以下是简单程序流程,帮助理解上面的语句
sub test()
 dim arr(1  to 30 ) as RECORDS
 ①打开工作薄
 ②逐一打开每张工作表
   for i=1 to 30
            
      for j=1 to 1000
        if chr(cells(j,1))<>cells(j,2) then
        arr(i).num=arr(i).num+1
        arr(i).item(arr(i).num).address=cells(j,1).address
        arr(i).item(arr(i).num).original=cells(j,2).value
        arr(i).item(arr(i).num).modify=chr(cells(j,1))
        end if
     next j

   next i
 
③将ARR(1 TO 30)输出至文本文件。


end  sub

'题后
 写得够详细了吧,请高手看到这片诚意,解答一下。
------解决思路----------------------
Type RECORD
  address As String   '地址不止4个字符'
  original As String
  modify   As String
End Type

Type RECORDS
   num As Integer
   item(1 to 1000) As RECORD    '反正量不多,定义一个最大量比动态增长性能要好很多'
End Type