Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Probleme mit Klasse

Forumthread: Probleme mit Klasse

Probleme mit Klasse
08.01.2009 11:30:00
Specke
Hallo Experten,
ich habe auf einem Tabellenblatt mehrere Commandbuttons und will diese einer Klasse zuordnen. Leider bekomme ich das nicht hin. in der "fetten" Zeile bekomme ich den Fehler 'Typen unverträglich'.
In DieseArbeitsmappe habe ich folgendes stehen:
Option Explicit
Dim i As Integer
Dim CommandButton() As New cls_CmdButton
Dim ObCB As Object

Private Sub Workbook_Open()
'Buttons in Klasse aufnehmen
For Each ObCB In Worksheets(1).Shapes
If ObCB.Name Like "CommandButton*" Then
i = i + 1
ReDim Preserve CommandButton(1 To i)
Set CommandButton(i).Button = ObCB
End If
Next ObCB
End Sub


Im Klassenmodul cls_CmdButton steht bisher:
Option Explicit
Public WithEvents Button As MsForms.CommandButton


Private Sub Button_Click()
MsgBox Button.Caption
End Sub


Wo ist mein Fehler?
Danke und Gruß
Specke

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Klasse
08.01.2009 11:33:17
Hajo_Zi
Hallo Nick,
was mir sofort auffällt, Ich wurde keine VBA Sachen als Namen benutzen.

AW: Probleme mit Klasse
08.01.2009 13:59:53
Heiko
Hallo Specke,
erstmal gebe ich Hajo recht:
Du solltest deinen Variablen NIE Namen geben, die so auch als Begriffe im VBA Code auftauchen (z.B. CommandButton). Führt immer zu Problemen.
Dein Problem liegt aber in der Objektzuweisung:

Private Sub Workbook_Open()
'Buttons in Klasse aufnehmen
For Each ObCB In Worksheets(1).Shapes
If ObCB.Name Like "CommandButton*" Then
i = i + 1
ReDim Preserve CommandButton(1 To i)
Set CommandButton(i).Button = Worksheets(1).OLEObjects(ObCB.Name).Object
End If
Next ObCB
End Sub


Gruß Heiko
PS: Rückmeldung wäre nett !

Anzeige
AW: Probleme mit Klasse
08.01.2009 20:30:00
Specke
Hallo,
vielen Dank für die Hilfe, es funktioniert.
Eure Anmerkungen bezüglich der Bezeichnungen werde ich mir zu Herzen nehmen, versprochen!
Danke und Gruß
Specke
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige