Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: André H. am Dezember 10, 2014, 10:53:07 Vormittag

Titel: Office 2007: VBA - Checkbox_Click Funktion zuweisen
Beitrag von: André H. am Dezember 10, 2014, 10:53:07 Vormittag
Hallo alle miteinander,

ich habe folgendes Problem.
Nach der automatischen Erstellung eines Tabellenblattes mit Diagramm habe ich zusätzlich über VBA 5 Checkboxen einfügen lassen um die einzelnen Datenreihen des Diagramms ein-/ ausschalten zu können.

Beispielhaft für eine Checkbox sieht das ganze so aus:



Sub Add_Checkboxes()
    ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1",  Link:=False, _
        DisplayAsIcon:=False, Left:=27.75, Top:=83.25, Width:=108, Height:=21 _
        ).Select
End Sub


Private Sub CheckBox1_Click()
 If Sheets("Auswertung Kanal1").CheckBox1.Value = True Then
   Worksheets("Kanal1").Columns(2).Hidden = False
   Else
   Worksheets("Kanal1").Columns(2).Hidden = True
End If
End Sub


Die Funktion des Objektes Checkbox1_Click() habe ich aber in ein Modul geschrieben. Somit fehlt die Verknüpfung auf das eigentliche Tabellenblatt. Es funktioniert zumindestens nicht.
Ich würde mich über euere Hilfe freuen. Danke

Gruß

André
Titel: Antw:Office 2007: VBA - Checkbox_Click Funktion zuweisen
Beitrag von: maninweb am Dezember 10, 2014, 14:46:07 Nachmittag
Hallo André,

statt ActiveX Steuerelementen kannst Du auch Formularsteuerelemente verwenden.
Diese lassen sich mit einem Amkro in einem Modul verknüpfen. Beispiel:

Code: Visual Basic
  1. Sub AddFormCheckbox()
  2.  
  3.   Dim objShape As Shape
  4.  
  5.   Set objShape = ActiveSheet.Shapes.AddFormControl(xlCheckBox, 100, 100, 100, 15)
  6.  
  7.   objShape.Name = "MeineCheckbox" & CStr(1)
  8.   objShape.OnAction = "DeinMakro"
  9.  
  10. End Sub
  11.  
  12. Sub DeinMakro()
  13.  
  14.   MsgBox Application.Caller
  15.  
  16. End Sub
  17.  
Gruß