2010-11-21 8 views
1

Ich bin ein Neuling und ich versuche, VBA zu lernen, und ich habe eine Frage zu diesem Code: (Sorry für etwaige Fehler in Englisch, ich bin kein Muttersprachler)VBA Typ Frage Anfänger

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 

Was sind diese "Dinge" zwischen Type und End Type, sind sie Zellen des Bereichs meines Arbeitsblattes, weil ich Spalten wie Par1, Par2, ..., Par4 in meinem Arbeitsblatt habe, aber ich habe keine Spalten namens IntvCheg Weder InstCheg. Und was bedeutet der Befehl Public someting() As otherthing?

Vielen Dank im Voraus für Ihre Hilfe.

Antwort

1

"Dinge" zwischen Type und End Type sind Mitglieder des rPaciente Typs deklarieren. Sie sind keinem zugeordnet, sie beschreiben nur die Menge von Daten, die dieser Typ enthalten soll.
Wahrscheinlich gibt es irgendwo eine Routine, die die Zellen auf Ihrem Blatt Mitgliedern dieses Typs zuordnet, indem sie eine Instanz des Typs erstellt und Werte aus dem Blatt in die Elementvariablen der Instanz kopiert.

Public someting() As otherthing ist ein Array vom Typ otherthing. Die Deklaration enthält nicht die Dimensionen für das Array, also bevor es verwendet werden kann, müssen Sie ReDim es zu etwas:

ReDim someting(1 to 10) 
0

Die Typdeklaration deklariert einfach eine Visual Basic-Typstruktur. Ist etwas (wirklich vereinfachte Ansicht) ein struct in C++ oder eine Klasse ohne Methoden in irgendeiner labguage.

Die Anweisung

Public mPaciente() As rPaciente 

deklarieren eine dinamyc Array von rPaciente Objekten, die mit jeder Zeile in Ihrer Excel-Datei gefüllt werden wahrscheinlich.

Die Anweisung

Public glQtdPaciente As Long 

eine Variable vom Typ Long mit dem Namen glQtdPaciente