Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: ---> Tab2HTML: Excel Tabellen ins Forum! <-
*Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen
zurück: Mit Makro Emails durchsuchen und in Excel löschen weiter: Variablen übergabe und Optionsfeld Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
SeppelFred
Gast


Verfasst am:
17. Jul 2008, 13:29
Rufname:

*Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

Ich habe folgendes Problem:
Ich ertelle checkBoxen und ScrollBars während das Programm läuft, wenn ein bestimmter Button geklickt wird. Soweit, so gut. Jetzt soll allerdings der checkBox ein onClick-Ereignis zugeordnet werden. Ist checkBox.Value = True, soll die ScrollBar mit der selben Nr. Enabled = True sein, wenn checkBox False, dann scrollBar = false.

Enable/Disable Sub:
Code:
Private Sub checkBox1_Click()
    scrollBar1.Enabled = checkBox1.Value
End Sub

Die checkBoxen werden erstellt:
Code:
'   Checkbox erstellen
    Auswahl.Select
    With Auswahl.Range("C" & reiheNeu)
        Set objCheckBox = ActiveSheet.OLEObjects.Add _
            (ClassType:="Forms.CheckBox.1", Link:=False, _
            DisplayAsIcon:=False, Left:=.Left + Int(11 / 2), Top:=.Top + Int(11 / 2), Width:=11, _
            Height:=11)
    End With
    objCheckBox.Placement = xlMoveAndSize
    With objCheckBox.Object
        .Caption = ""
    End With   
    Edit.Select

Die scrollBar wird erstellt:
Code:
'   Scrollbar erstellen
    Auswahl.Select
    With Auswahl.Range("D" & reiheNeu)
        Set objScrollBar = ActiveSheet.OLEObjects.Add _
            (ClassType:="Forms.ScrollBar.1", Link:=False, _
            DisplayAsIcon:=False, Left:=.Left + 1, Top:=.Top + 1, Width:=.Width - 1, _
            Height:=.Height - 1)
    End With
    objScrollBar.LinkedCell = "$E$" & reiheNeu
    objScrollBar.Placement = xlMoveAndSize
    With objScrollBar.Object
        .Max = 120
        .Value = 100
        .LargeChange = 20
        .SmallChange = 10
    End With
    Edit.Select


Das ist ja auch kein Ding! Aber...

1) ...wie kann ich jetzt das onClick-Ereignis von oben (ccheckBox1_Click()) für jede neuerstellte checkBox zuordnen?
2) ...wie kann ich die onClick-Sub so gestalten, dass sie für jede checkBox allgemeingülltig wird? Also ein und dieselbe Sub für alle checkBoxen, die anhand ihres eigenen Namens dann die zugehörige scrollBar sucht und aktiviert / deaktiviert.

reiheNeu einthält übrigens eine Integer Zahl, der Zielzeile, die vorher berechnet wird.
SeppelFred
Gast


Verfasst am:
17. Jul 2008, 13:42
Rufname:


AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

Habe mein googeln gerade etwas interessantes gefunde und jetzt dazu eine Frage bzw. Anregung...:

Wäre es möglich eine eigene Klasse (checkBoxMod) du deklarieren, die selbst vom Typ checkBox ist, sich sozusagen selbst davon ableitet oder von ihr erbt. Für diese Klasse würde standardmäßig eine bestimmte click-Aktion festgelegt, sodas jedes erstelltes Objekt des Typs checkBoxMod automatisch auch das click-Ereignis hat, das die Scrollbar aktiviere/deaktivieren kann!?!?
Lukas Mosimann
Excel sehr gut, VBA sehr gut


Verfasst am:
17. Jul 2008, 15:01
Rufname: Lukas
Wohnort: CH-Pfaffnau

AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

Hallo
Ich denke, hiermit kannst du vielleicht schon mal was "vorprogrammieren": http://www.office-loesung.de/ftopic220336_0_0_asc.php
Ich möchte dir ja nicht die Diplomarbeit schreiben - deshalb mache ich hier auch nicht alles fertig. Aber ich werde dich gerne unterstützen ...
Viele Grüsse
Lukas

_________________
Der Optimist sieht in jedem Problem eine Aufgabe.
Der Pessimist sieht in jeder Aufgabe ein Problem.
TypMens
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. Jul 2008, 15:07
Rufname:

AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

das ding habe natürlich schon vor- und rückwärts durch. aber mit checkBox funktioniert das einfach nicht. zumindest nicht so wie es dort vorgemacht wird. zudem ist das nur ein teil der arbeit. ein recht kleiner teil. ich hab schon mein 269 zeile zusammen und noch weitere in einer anderen tabelle. ich brauche nur die deklaration die mit
Code:
Public WithEvents cmdCheckBox As CheckBox

schon nicht funktioniert. dann verstehe ich noch nicht, wie die verknüpfung funktioniert.
Lukas Mosimann
Excel sehr gut, VBA sehr gut


Verfasst am:
17. Jul 2008, 15:14
Rufname: Lukas
Wohnort: CH-Pfaffnau


AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

Hallo
Hast du mir mal einen Code, mit dem es funktioniert hat? Dann können wir auf diesen aufbauen ...
Viele Grüsse
Lukas

_________________
Der Optimist sieht in jedem Problem eine Aufgabe.
Der Pessimist sieht in jeder Aufgabe ein Problem.
TypMens
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. Jul 2008, 15:18
Rufname:

AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

wie kann ich denn mal die ganze datei hochladen? bzw. schick mir eine mail mit von einer adresse, an die ich die mappe schicken kann
Lukas Mosimann
Excel sehr gut, VBA sehr gut


Verfasst am:
17. Jul 2008, 15:29
Rufname: Lukas
Wohnort: CH-Pfaffnau

AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

Hallo
Ein ganz simples Beispiel:

Leere Userform mit folgendem Code:
Code:
Option Explicit
Dim Test As New clsCheckBox

Private Sub UserForm_Activate()
Set Test.chbCheckbox = Me.Controls.Add("Forms.CheckBox.1")
End Sub


Klassenmodul clsCheckBox mit folgendem Code:
Code:
Option Explicit
Public WithEvents chbCheckbox As MSForms.CheckBox

Private Sub chbCheckbox_Change()
MsgBox ("asdf")
End Sub


Liegt der Fehler vielleicht an MSForms.CheckBox?

Viele Grüsse

Lukas

_________________
Der Optimist sieht in jedem Problem eine Aufgabe.
Der Pessimist sieht in jeder Aufgabe ein Problem.
TypMens
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. Jul 2008, 15:41
Rufname:

AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

ist es ein muss, dass das immer mit einer userform gemacht wird? ich möchte das nämlich eigentlich ohne machen. ich habe das ohne versucht, aber einen fehler erhalten
Fehler beim Kompilieren:

Benutzerdefinierter Typ nicht definiert
[ok] [hilfe]
TypMens
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. Jul 2008, 15:42
Rufname:

AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

also mein code dazu wäre:

Tabelle Auswahl:
Code:
Option Explicit
Dim Test As New clsCheckBox

Private Sub btnX_Click()
    Set Test.chbCheckbox = Me.Controls.Add("Forms.CheckBox.1")
End Sub


Klassenmodul Klasse1:
Code:
Option Explicit
Public WithEvents chbCheckbox As MSForms.CheckBox

Private Sub chbCheckbox_Change()
MsgBox ("asdf")
End Sub
TypMens
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. Jul 2008, 15:49
Rufname:

AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

würde mir den code für die Tabelle "Auswahl" eher so vorstellen:

Code:
Option Explicit
Dim Test As New clsCheckBox

Private Sub btnX_Click()
    Auswahl.Select
    With Auswahl.Range("C" & reiheNeu)
        Set Test.chbCheckbox = ActiveSheet.OLEObjects.Add("Forms.CheckBox.1") _
            (ClassType:="Forms.CheckBox.1", Link:=False, _
            DisplayAsIcon:=False, Left:=.Left + Int(11 / 2), Top:=.Top + Int(11 / 2), Width:=11, _
            Height:=11)
    End With
    Edit.Select
End Sub


doch der selbe fehler kommt immer noch
TypMens
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. Jul 2008, 15:53
Rufname:

AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

jetzt hab ich nur noch eine typenunverträglichkeit
TypMens
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. Jul 2008, 16:07
Rufname:


AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen - AW: *Pro* Click-Ereignis zur Laufzeit zuordnen / erstellen

Nach oben
       Version: Office 2003

also ich habe jetzt folgendes gemacht:

Klasse (myCheckBox):
Code:
Option Explicit
Public WithEvents chbCheckbox As MSForms.CheckBox

Private Sub chbCheckbox_Change()
    MsgBox (Me.chbCheckbox.Value)
End Sub


Tabelle (Auswahl):
Code:
Option Explicit
Dim Test As New myCheckBox

Private Sub btnX_Click()
    Auswahl.Select
    With Auswahl.Range("C8")
        Set Test.chbCheckbox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, DisplayAsIcon:=False, Left:=.Left + Int(11 / 2), Top:=.Top + Int(11 / 2), Width:=11, Height:=11)
    End With
    Edit.Select
End Sub


Jetzt ist noch der Fehler:
"Laufzeitfehler '13':
Typen unverträglich"
[ok] [hilfe]
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen




Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formate: Kalender erstellen 1 matze911 253 31. März 2010, 11:04
Klaus-Dieter Kalender erstellen
Keine neuen Beiträge Excel VBA (Makros): Outlook Aufgabe aus Excel Tabelle erstellen 2 Schanzo 1160 24. Feb 2010, 12:46
manuel_bo Outlook Aufgabe aus Excel Tabelle erstellen
Keine neuen Beiträge Excel Auswertungen: math. Funktion aus Datenreihe erstellen? 1 Robson83 213 30. Jan 2010, 16:06
Thomas Ramel math. Funktion aus Datenreihe erstellen?
Keine neuen Beiträge Excel Hilfe: Belegungsplan in Excel erstellen? 12 Gast 2127 11. Jan 2010, 20:43
chris791 Belegungsplan in Excel erstellen?
Keine neuen Beiträge Excel Auswertungen: kombinationsdiagramm zu erstellen 1 shvictor 321 01. Mai 2009, 00:20
Zero kombinationsdiagramm zu erstellen
Keine neuen Beiträge Excel VBA (Makros): sheet erstellen in ein vorhandenes workbook 4 methode 216 20. Aug 2008, 13:11
methode sheet erstellen in ein vorhandenes workbook
Keine neuen Beiträge Excel Auswertungen: Säulendiagramm erstellen und Anzeige der %-Werte 2 Falcon 1137 05. Jun 2008, 08:05
Falcon Säulendiagramm erstellen und Anzeige der %-Werte
Keine neuen Beiträge Excel Hilfe: Liga-Spielplan erstellen 2 Hansilein 9087 14. Dez 2007, 22:18
yx Liga-Spielplan erstellen
Keine neuen Beiträge Excel Formeln: Erstellen einer Tabelle mit automatisch ausfüllenden Werten 2 Mikkato 219 27. Aug 2007, 15:18
Mikkato Erstellen einer Tabelle mit automatisch ausfüllenden Werten
Keine neuen Beiträge Excel VBA (Makros): Warnungsfenster erstellen 5 Little Bird 616 13. Apr 2007, 11:01
Little Bird Warnungsfenster erstellen
Keine neuen Beiträge Excel Auswertungen: Formular in Excel erstellen 4 bblues 33524 24. März 2006, 13:48
Gast Formular in Excel erstellen
Keine neuen Beiträge Excel VBA (Makros): PDF per Makro erstellen 1 FD 926 21. März 2006, 11:44
c0bRa PDF per Makro erstellen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editor Forum