VBA类型问题初学者

时间:2010-11-21 22:43:39

标签: excel vba

我是新手,我正在尝试学习VBA,我对这段代码有疑问: (对不起英文错误,我不是母语人士)

Option Explicit

Type rPaciente  'matriz de pacientes
   CodPaciente As Long
   PriorPaciente As Long
   IntvChegDistr As String
   Par1 As Double
   Par2 As Double
   Par3 As Double
   Par4 As Double
   IntvCheg As Double
   InstCheg As Double
End Type
Public mPaciente() As rPaciente
Public glQtdPaciente As Long

TypeEnd Type之间的这些“事物”是什么,它们是我工作表范围内的单元格,因为我的工作表中有Par1,Par2,...,Par4这样的列但是我没有名为IntvCheg的列也没有InstCheg。命令Public someting() As otherthing的含义是什么?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

TypeEnd Type之间的“事物”是rPaciente类型的成员。它们没有映射到任何东西,它们只描述这种类型要包含的数据集 可能有一个例程,通过创建类型的实例并将值从工作表复制到实例的成员变量,将工作表上的单元格映射到此类型的成员。

Public someting() As otherthingotherthing类型的数组。声明不包括数组的维度,因此在使用它之前,您必须ReDim它的内容:

ReDim someting(1 to 10)

答案 1 :(得分:0)

Type声明只是声明一个Visual Basic Type结构。类似于(真正简化的视图)c ++中的struct或任何实验室中没有方法的类。

指令

Public mPaciente() As rPaciente

声明一个dinamyc数组的rPaciente对象,这些对象可能会填充excel文件中的每一行。

指令

Public glQtdPaciente As Long

声明名为Long

glQtdPaciente类型的变量