Aufruf klassensubroutine
25.06.2016 23:20:35
beebelbrox
Hallo liebe Forengemeinde :)
Ich Versuch grad meine ersten richtigen schritte mit VBA. Ich würd mich zwar als passablen Programmierer beschreiben, habe jedoch recht große Probleme mich in die Logik von VBA reinzudenken. Da ich sehr stark durch objektorientierte sprachen geprägt bin, wollte ich diesen Ansatz auch mit VBA verfolgen.
Mein konkretes Problem besteht darin eine Instanz einer selbst erstellten Klasse zu erzeugen.
Ich habe zunächst die Klasse (Klassenmodul) Node:
Option Explicit ' use explicit type declaretion !
' internal values:
Private dbl_Y As Double
Private dbl_Z As Double
Private Sub Class_Initialize()
dbl_Y = 0
dbl_Z = 0
End Sub
' factory method:
Public Sub Create(y As Double, z As Double)
dbl_Y = y
dbl_Z = z
End Sub
'Properties_______________________________________________________
Public Property Get y()
y = dbl_Y
End Property
Public Property Get z()
z = dbl_Z
End Property
Diese soll in einer andern Sub benutzt werden:
Sub computeCrossSection()
Dim iNodes As Integer
Dim iElements As Integer
Dim d_maxY As Double
Dim d_maxZ As Double
Dim d_minY As Double
Dim d_minZ As Double
Dim section As clsSection
numNodes = Range("nodeCount").Cells(1)
iElements = Range("elementCount").Cells(1)
d_maxY = Range("maxY").Cells(1)
d_maxZ = Range("maxZ").Cells(1)
d_minY = Range("minY").Cells(1)
d_minZ = Range("minZ").Cells(1)
Dim i As Integer
For i = 22 To numNodes + 22
Dim y As Double
Dim z As Double
y = Cells(3, i)
z = Cells(4, i)
Dim newNode As clsNode
With newNode
.y = y
.z = z
End With
Next i
End Sub
Ich bekomme immer den Fehler "objektvariable oder with block variable nicht festegelegt"
was hab ich hier Falsch gemacht?
vielen Dank im Voraus!