我是新手,我正在尝试学习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
Type
和End Type
之间的这些“事物”是什么,它们是我工作表范围内的单元格,因为我的工作表中有Par1,Par2,...,Par4这样的列但是我没有名为IntvCheg的列也没有InstCheg。命令Public someting() As otherthing
的含义是什么?
提前感谢您的帮助。
答案 0 :(得分:1)
Type
和End Type
之间的“事物”是rPaciente
类型的成员。它们没有映射到任何东西,它们只描述这种类型要包含的数据集
可能有一个例程,通过创建类型的实例并将值从工作表复制到实例的成员变量,将工作表上的单元格映射到此类型的成员。
Public someting() As otherthing
是otherthing
类型的数组。声明不包括数组的维度,因此在使用它之前,您必须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
类型的变量