Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nepumuk , oder Klassenmodule fachmann

Nepumuk , oder Klassenmodule fachmann
17.10.2005 08:02:00
chris
Hallo und guten morgen zusammen ,
hätte da noch eine frage zu meinem Klassenmodul versuch.
Nepumuk hat mir bis hierhin schon sehr viel geholfen.
Jetzt wollte ich selbst meinen Code noch etwas umbauen und tests machen.
Aber aus irgeneinem Grund klappt das nicht und ich frage mich warum.?
Ich poste hier mal meinen neuen Code in dem habe ich nur diesen Aufruf ausgeklammert
'Application.OnTime Now + TimeValue("00:00:01"), "OLE_Class_Setten"
und eben die funktion aus diesem Sup in die funktion davor kopiert.
Aber aus irgeneinem mir nicht verständlichen Grund klappt das so nicht :(
Würde mich freuen wenn mir jemand erklären könnte warum. Vielen Dank !!!
Option Explicit
Public aCommbutt() As New cls_Commandbuttons
Public intCheckCount As Integer
Dim pos As Integer
Dim mysheet As Worksheet
Dim nurtest1 As String
Dim nurtest2 As String
Dim nurtest3 As String

Sub buttons_löschen_starten()
Dim objDynCommandbuttons As OLEObject
For Each objDynCommandbuttons In ActiveSheet.OLEObjects
nurtest3 = TypeName(objDynCommandbuttons.Object)
If TypeName(objDynCommandbuttons.Object) = "CommandButton" Then
objDynCommandbuttons.Delete
End If
Next
End Sub


Sub erstellen_buttons_starten()
'Makroaufruf mit Variablenübergabe von   "ActiveSheet"
ChbDynamischErzeugen ActiveSheet
End Sub

Public

Function ChbDynamischErzeugen(wksSheet As Worksheet)
Dim intJ As Integer
intCheckCount = 0
Dim chbCommandbutton As OLEObject
pos = 20
For Each mysheet In ActiveWorkbook.Worksheets
Set chbCommandbutton = wksSheet.OLEObjects.Add(ClassType:="Forms.commandbutton.1", _
Link:=False, DisplayAsIcon:=False, _
Left:=10, _
Top:=pos, _
Width:=100, _
Height:=20)
'neu
For intJ = 1 To ActiveSheet.OLEObjects.Count
If TypeName(ActiveSheet.OLEObjects(intJ).Object) = "CommandButton" Then
ReDim Preserve aCommbutt(1 To intJ)
Set aCommbutt(intJ).objDynCommandbutton = ActiveSheet.OLEObjects(intJ).Object
End If
Next
'neu bis hier
chbCommandbutton.Object.Caption = mysheet.Name
Set chbCommandbutton = Nothing
'Position der CommandButtons
pos = pos + 20
Next
'Application.OnTime Now + TimeValue("00:00:01"), "OLE_Class_Setten"
End Function


Sub OLE_Class_Setten()
Dim intJ As Integer
intCheckCount = 0
For intJ = 1 To ActiveSheet.OLEObjects.Count
If TypeName(ActiveSheet.OLEObjects(intJ).Object) = "CommandButton" Then
ReDim Preserve aCommbutt(1 To intJ)
Set aCommbutt(intJ).objDynCommandbutton = ActiveSheet.OLEObjects(intJ).Object
End If
Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
Frage noch offen !
17.10.2005 08:42:31
Heiko
Moin Chris,
hier mal zwei Links zum Thema, denn wir haben das im Online EXCEL Forum schon mal durchgekaut. Ein Lösung ist dabei aber nicht zustande gekommen. Mal schauen ob du den richtigen Dreh findest.
Was für mich, und für dich ja scheinbar auch, unverständlich ist, ist das es in einem Userform mit dem sofortigen zuweisen zum Klassenmodul klappt im Tabellenblatt aber nicht.
http://www.online-excel.de/fom/fo_read.php?f=1&bzh=3105&h=3105
http://www.online-excel.de/fom/fo_read.php?f=1&bzh=3198&h=0#a123x
Gruß Heiko
Anzeige
AW: immer noch offen
17.10.2005 08:48:48
chris
Danke für die Links.
Aber ich denke Nepumuk kann mir weiterhelfen.
Aber ich werd mir die später mal durchschauen !
Danke und schönen Tag

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige