Excel: Mit einem Kontrollkästchen Worksheet "X" öffnen

Dieses Thema Excel: Mit einem Kontrollkästchen Worksheet "X" öffnen im Forum "Microsoft Office Suite" wurde erstellt von falcon30, 11. Juli 2008.

Thema: Excel: Mit einem Kontrollkästchen Worksheet "X" öffnen Hallo Zusammen, ich habe mehrere Worksheets in denen ich jeweils ein Kontrollkästchen habe. Mit einem Makro möchte...

  1. Hallo Zusammen,

    ich habe mehrere Worksheets in denen ich jeweils ein Kontrollkästchen habe. Mit einem Makro möchte ich auf ein WS springen:

    Sub Auswahlmenue_Click()
    Sheets(X).Select
    End Sub

    Wie schaffe ich es, dass alle Kontrollkästchen dieses Makro verwenden?

    Vielen DAnk im Voraus!!

    Grüße
    falcon30
     
  2. Hallo falcon,

    Entwurfmodus einschalten
    Kontrollkästchen mit rechter maus anklicken -> Code anzeigen
    Aufruf in die Click-Methode einfügen
    Code:
    Private Sub CheckBox1_Click()
     Call Auswahlmenue_Click
    End Sub
    Meinst du das ?

    Gruß Matjes :)
     
  3. Hallo Matjes,

    gibt es keine Möglichkeit den Makro einmal zu definieren, z.B. in DieseArbeitsmappe?

    Grüße
    falcon30
     
  4. Hallo falcon30,

    auch das geht, ist nur etwas komplizierter ;D

    Also als erstes legst Du ein Klassenmodul in deiner Mappe an und gibst den folgenden Code in das Modul ein.
    Code:
    Option Explicit
    Public WithEvents KK As MSForms.CheckBox
    
    Private Sub KK_Click()
     On Error Resume Next
     ThisWorkbook.Worksheets(cBLATTNAME_SPRUNGZIEL).Activate
     On Error GoTo 0
    End Sub
    Dann benennst Du das Klassenmodul im Eigenschaftsfenster um in Klasse_KK.

    Jetzt fügst du ein Modul ein und kopierst folgenden Code hinein.
    Code:
    Option Explicit
    
    Dim KKs() As New Klasse_KK
    
    Private Const cOBJ_TYPE = Forms.CheckBox.1
    Private Const cOBJ_NAME = CB_SPRUNG_X
    Public Const cBLATTNAME_SPRUNGZIEL = Ziel
    
    Sub KlasseKKFuellen()
    
     Dim ws As Worksheet, o As Object
     Dim KKsCnt As Long
     
     KKsCnt = 0: ReDim KKs(1 To 1)
     For Each ws In ThisWorkbook.Worksheets
      For Each o In ws.OLEObjects
       If o.progID = cOBJ_TYPE Then
        If o.Name = cOBJ_NAME Then
         KKsCnt = KKsCnt + 1: ReDim Preserve KKs(1 To KKsCnt)
         Set KKs(KKsCnt).KK = o.Object
        End If
       End If
      Next
     Next
    AUFRAEUMEN:
     Set o = Nothing: Set ws = Nothing
    End Sub
    Zwei Konstanten darin müßtest du anpassen:
    a) cBLATTNAME_SPRUNGZIEL
    hier muß der Name des Blattes eingetragen werden, welches angesprungen werden soll.
    b)cOBJ_NAME
    hier muß der spezielle Name deiner Checkboxen, die bei Betätigung den Blattwechsel erzeugen solle, eingetragen werden. Du kannst ihn auch so lassen.
    Jeder dafür vorgesehene Checkbox mußt du dann in den Eigenschaften diesen Namen geben.

    Wenn du KlasseKKFuellen() ausführst und es fehlerfrei durchgelaufen ist, kannst du schon ausprobieren, ob das Anklicken einer solchen Checkbox den Blattwechsel auslöst. (Entwurfsmodus muß ausgeschaltet sein)

    Damit das auch nach dem nächsten Öffnen der Datei zur Verfügung steht, Wird beim Öffnen der Datei das Makro einmal ausgeführt. Dazu fügst du folgenden Code in die Codeseite deiner Mappe (DieseArbeitsmappe).
    Code:
    Private Sub Workbook_Open()
     Call KlasseKKFuellen
    End Sub
    Grüße matjes ;)
     
  5. Hallo Matjes,

    vielen Dank!!! :1

    Grüße
    falcon30
     
Die Seite wird geladen...

Excel: Mit einem Kontrollkästchen Worksheet "X" öffnen - Ähnliche Themen

Forum Datum
Excel Datei mit einem MAC öffnen? Windows XP Forum 15. März 2008
Excel: Filtern aus mehreren Arbeitsblättern mit Ergebniss in einem neuen AB Windows XP Forum 30. Jan. 2008
Excel: 2 Säulen + 1 Linie in einem einzigen Diagramm? Microsoft Office Suite 8. Nov. 2005
Excel - Wie Legendenbeschriftung in einem Kreisdiagramm ändern? Microsoft Office Suite 12. Mai 2005
Excel: Probleme bei Webabfrage / Zahlen aus einem Satz auslesen... Microsoft Office Suite 10. Sep. 2003