Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Klassenprogrammierung!

Klassenprogrammierung!
06.12.2005 08:38:47
Swen
Hallo an alle,
ich habe mir eine klasse programiert,
die wie folgt aussieht
*******************************************************************
Private strName As String
Private strNC As String
Private strStiffenerNC As String
Private blnstrStiffener As Boolean
Private strlink As String
Private strConPin As String
Private strConPinNC As String
Private strManufacturer As String
Private strPartNo As String
Private strRemark As String
'*** Objekt PCB bekommt die Eigenschaft "name" ***'
Public Property Get name() As String
name = strName
End Property
Public Property Let name(ByVal vNewValue As String)
strName = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "NC" ***'
Public Property Get NC() As Variant
name = strNC
End Property
Public Property Let NC(ByVal vNewValue As Variant)
strNC = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "Stiffener" ***'
Public Property Get Stiffener() As Variant
Stiffener = blnStiffener
End Property
Public Property Let Stiffener(ByVal vNewValue As Variant)
blnStiffener = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "StiffenerNC" ***'
Public Property Get StiffenerNC() As Variant
StiffenerNC = strStiffenerNC
End Property
Public Property Let StiffenerNC(ByVal vNewValue As Variant)
strStiffenerNC = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "link" ***'
Public Property Get link() As Variant
link = strlink
End Property
Public Property Let link(ByVal vNewValue As Variant)
strlink = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "ConPin" ***'
Public Property Get ConPin() As Variant
ConPin = strConPin
End Property
Public Property Let ConPin(ByVal vNewValue As Variant)
strConPin = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "ConPinNC" ***'
Public Property Get ConPinNC() As Variant
ConPinNC = strConPinNC
End Property
Public Property Let ConPinNC(ByVal vNewValue As Variant)
strConPinNC = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "manufacturer" ***'
Public Property Get manufacturer() As Variant
manufacturer = strManufacturer
End Property
Public Property Let manufacturer(ByVal vNewValue As Variant)
strManufacturer = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "PartNo" ***'
Public Property Get PartNo() As Variant
PartNo = strPartNo
End Property
Public Property Let PartNo(ByVal vNewValue As Variant)
strPartNo = vNewValue
End Property
'*** Objekt PCB bekommt die Eigenschaft "Remark" ***'
Public Property Get Remark() As Variant
Remark = strRemark
End Property
Public Property Let Remark(ByVal vNewValue As Variant)
strRemark = vNewValue
End Property
*******************************************************************
benutzen möchte sie gerne in dem Userform "UF_header"
wenn die die Combobox 5 geändert wird
*******************************************************************

Private Sub ComboBox5_Change()
Dim intZaehler1 As Integer
'*** Auswahl von Pin das Objekt ausgewählte PCB eintragen ***'
'*** Zeile ermitteln in der die ausgewählte PCB steht
For intZaehler1 = 2 To 1000
If UF_Header.ComboBox5.Value = Worksheets("PCB").Cells(intZaehler1, 1).Value Then
Exit For
End If
Next intZaehler1
'** Zuweisung der Eigenschaften der ausgewählten PCB **'
ausgewähltePCB.name = Worksheets("PCB").Cells(intZaehler1, 1).Value
ausgewähltePCB.NC = Worksheets("PCB").Cells(intZaehler1, 2).Value
ausgewähltePCB.Stiffener = Worksheets("PCB").Cells(intZaehler1, 3).Value
ausgewähltePCB.StiffenerNC = Worksheets("PCB").Cells(intZaehler1, 4).Value
ausgewähltePCB.link = Worksheets("PCB").Cells(intZaehler1, 5).Value
ausgewähltePCB.ConPin = Worksheets("PCB").Cells(intZaehler1, 6).Value
ausgewähltePCB.ConPinNC = Worksheets("PCB").Cells(intZaehler1, 7).Value
ausgewähltePCB.manufacturer = Worksheets("PCB").Cells(intZaehler1, 8).Value
ausgewähltePCB.PartNo = Worksheets("PCB").Cells(intZaehler1, 9).Value
ausgewähltePCB.Remark = Worksheets("PCB").Cells(intZaehler1, 15).Value
'*** Werte aus der ermittelten Zeile in die TextBoxen einlesen ***'
UF_Header.TextBox101.Value = ausgewähltePCB.NC
UF_Header.TextBox102.Value = ausgewähltePCB.manufacturer & " / " & ausgewähltePCB.PartNo
'*** Kontrolle ob die PCB Kontaktstifte benötigt ***'
If Worksheets("PCB").Cells(intZaehler1, 6).Value = True Then
UF_Header.TextBox13.Value = "YES" & "  " & ausgewähltePCB.ConPinNC
Else
UF_Header.TextBox13.Value = "No"
End If
'*** Kontrolle ob die PCB Stiffner benötigt ***'
If ausgewähltePCB.Stiffener = True Then
UF_Header.ComboBox7.Clear
UF_Header.ComboBox7.Enabled = False
UF_Header.ComboBox7.Value = "YES"
Else
UF_Header.ComboBox7.Clear
UF_Header.ComboBox7.Enabled = True
UF_Header.ComboBox7.AddItem "No"
UF_Header.ComboBox7.AddItem "Yes"
End If
End Sub

************************************************************************
ich bekomme folgende Fehlermeldung
Laufzeitfehler `91`:
Objektvar. oder With Blockvar. ist nicht festgelegt
die fehlemeldung erscheint sobald ich die ComboBox5 ändere!
kann mir jemand sagen was ich falsch mache!
Gruß
Swen

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Klassenprogrammierung!
06.12.2005 08:52:23
Nike
Hi,
koennte es sein das es das hier nicht gibt:
blnStiffener nur blnstrStiffener?
Bye
Nike
P.S. Ansonsten vielleicht ne Bsp Datei anhaengen,
ansonsten wird's mit der Analyse schwierig ;-)
AW: Klassenprogrammierung!
06.12.2005 09:20:26
Swen
Hallo an alle,
ich habe meine Datei mal gepostet,
ihr müst auf der Symbolleiste "Hauptmenü" und dann "Header Daten eingeben" auswählen.
Danach öffnet sich ein Fenster hier wählt ihr z.B.
Tester "Turbo" aus und dann bei PCB "MT256"!
Jetzt kommt es zur Fehlermeldung!
https://www.herber.de/bbs/user/28998.zip
Gruß
Swen
Anzeige
AW: Klassenprogrammierung!
06.12.2005 10:15:39
Dani
Hallo Swen,
versuch mal in der
Private Sub UserForm_Initialize()
den Eintrag
Set ausgewähltePCB = New PCB
Einzufügen um eine neue Instanz deiner Klasse zu erstellen. Danach solltest du mit diesem Objekt arbeiten können.
Hoffe auf gutes gelingen
Daniel
AW: Klassenprogrammierung!
06.12.2005 10:24:25
Nike
Hi,
gleich beim Initialize wuerd ich's vielleicht nicht machen,
koennte ja sein, das er die Klasse gar nicht unbedingt braucht...
Is aber wohl Geschmackssache ;-)
Bye
Nike
AW: Klassenprogrammierung!
06.12.2005 10:30:03
Galenzo
in Modul "UF-Header:
Public ausgewähltePCB As New PCB
asonst kam bei mir der Fehler bei Combobox5
Viel Erfolg!
Anzeige
AW: Klassenprogrammierung!
06.12.2005 10:21:56
Nike
Hi,
oben so ein neues PCB erst mal anlegen?
Public ausgewähltePCB As New PCB
dann kommt beim stiffener der naechste Fehler hoch,
typen unvertraeglich, hab jetzt leider nicht die Zeit das Blatt aufzumachen
und zu analysieren, was du da welchem Variablentyp zuweisen moechtest,
aber vielleicht hilft ja schon mal der erste Schritt in die richtig Richtung ;-)
Bye
Nike
P.S. Ansonsten muss ich sagen, ungewoehnlich sauber programmiert ;-)
Sonst muss man sich immer durch Tonnen von Spagetticode quaelen,
doch doch, recht gut - weiter so...
AW: Klassenprogrammierung!
06.12.2005 11:44:33
Swen
Hallo an alle,
vielen Dankfür eure Hilfe!
Nike
vielen Dank für das Lob!
Ich gebe mir auch mühe das umzustzen was ich
im Forum lerne!
Nochmal Danke an alle!
gruß
swen
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige