Office: Frage zur Befehlsschaltfläche

Helfe beim Thema Frage zur Befehlsschaltfläche in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe ein Diagramm welches gekoppelt ist an ca. 120 Befehlsschaltflächen (welches man klickt, dessen Daten werden dagestelt) Jetzt... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Gomorra, 11. September 2008.

  1. Gomorra Erfahrener User

    Frage zur Befehlsschaltfläche


    Hallo,

    ich habe ein Diagramm welches gekoppelt ist an ca. 120 Befehlsschaltflächen (welches man klickt, dessen Daten werden dagestelt)

    Jetzt meine Frage: kann man es so einrichten, das jene Schaltflächen die geklickt wurden, sich automatisch farblich abheben? so das man weiß, welche geändert wurden...

    dafür gibts doch bestimmt enn VB-Befehl^^ ich hätte gerne die Farbe Blau:-)

    Danke
     
  2. schatzi Super-Moderator
    Hallo!

    Schau mal hier.
    Dort wird sowas beschrieben.
     
  3. Gomorra Erfahrener User
    danke..

    genau das suche ich...

    ich hab mal das Beispiel:

    Private Sub CommandButton1_Click()
    Sheets(1).Select
    Call Reset_BackColor
    CommandButton1.BackColor = vbBlue
    End Sub

    Private Sub CommandButton2_Click()
    Sheets(2).Select
    Call Reset_BackColor
    CommandButton2.BackColor = vbBlue
    End Sub

    Private Sub Reset_BackColor()
    Dim objControl As Control
    For Each objControl In Controls
    If TypeOf objControl Is MSForms.CommandButton Then objControl.BackColor = &H8000000F
    Next
    End Sub

    Einfach in ein leeres Blatt kopiert und die Funktionsweise bei 2 cdms zu testen, allerdings sagt er mir immer bei

    For Each objControl In Controls

    "Objekt erforderlich"

    hmm..

    kannst du mir sagen, wo da das problem ist?


    danke..
     
  4. schatzi Super-Moderator

    Frage zur Befehlsschaltfläche

    Hallo!

    In dem Beitrag geht es um Controls in einer UserForm.
    Bei dir geht es um Buttons auf dem Tabellenblatt.
    Probier's mal so:
    Code:
    Private Sub Reset_BackColor()
    Dim oO As OLEObject
    For Each oO In Me.OLEObjects
    If TypeOf oO.Object Is MSForms.CommandButton Then oO.Object.BackColor = &H8000000F
    Next
    End Sub
     
  5. Gomorra Erfahrener User
    wieder mal vom feinsten...

    danke...

    klappt super
     
  6. Gomorra Erfahrener User
    Doch noch ne Frage....

    Wie mache ich es, wenn ich 2 Spalten von cdms habe, die unabhängig voneinander diese Farbenwechselgeschichte machen sollen?
    sprich Spalte A von cdms unabhängig von Spalte B von cdms?

    mit dem aktuellen befehl macht er ein ausgwwählten Button in Spalte A wieder grau wenn ich ein cdm in Spalte B aktiviere

    Aktuelles Makro lautet:
    ------------------------------------------------------------------------------------
    Private Sub line1()
    Dim oO As OLEObject
    For Each oO In Me.OLEObjects
    If TypeOf oO.Object Is MSForms.CommandButton Then oO.Object.BackColor = &H8000000F
    Next
    End Sub

    Private Sub line2()
    Dim oO1 As OLEObject
    For Each oO1 In Me.OLEObjects
    If TypeOf oO1.Object Is MSForms.CommandButton Then oO1.Object.BackColor = &H8000000F
    Next
    End Sub

    Die dazugehörigen cdms lauten in etwa:

    Private Sub CommandButton49_Click()
    ActiveSheet.ChartObjects("Diagramm 32").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.SeriesCollection(2).Values = "='Center overview'!R33C8:R33C39"
    ActiveChart.SeriesCollection(2).Name = "='Center overview'!R33C6"
    Range("N41").Select
    Call line2
    CommandButton49.BackColor = vbRed
    End Sub

    Private Sub CommandButton48_Click()
    ActiveSheet.ChartObjects("Diagramm 32").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.SeriesCollection(2).Values = "='Center overview'!R34C8:R34C39"
    ActiveChart.SeriesCollection(2).Name = "='Center overview'!R34C6"
    Range("N41").Select
    Call line1
    CommandButton48.BackColor = vbblue
    End Sub

    ich schätze meie Idee war zu einfach gedacht^^

    dankeschön
     
  7. schatzi Super-Moderator
    Hallo!

    Eine Idee wäre dies:
    Die Namen der Buttons lassen sich mit "oO.Name" abfragen.
    Wenn nun alle Namen der Buttons der einen Spalte auf z.B. "x" enden, dann könnte man dies mit
    If Right(oO.Name, 1) ="x" Then
    abfragen und mit dem Namen des aktuellen Buttons vergleichen (der dazu wohl in einer globalen Variable zwischengespeichert sein müsste).
     
  8. Gomorra Erfahrener User

    Frage zur Befehlsschaltfläche

    hmm...

    langsam übersteigt das meine Vorstellungen und Kenntnisse um Potenzen^^.

    ich hab ca. 250 cdms..

    kann man nicht den den Befehl:


    Private Sub line1()
    Dim oO As OLEObject
    For Each oO In Me.OLEObjects
    If TypeOf oO.Object Is MSForms.CommandButton Then oO.Object.BackColor = &H8000000F
    Next
    End Sub

    dahingehend ändern das dieser nur auf bestimmte CommandButtons zugreift? das man ihn z.b. für 15 Commandbuttons eingrenzt?

    Deine idee hört sich gut an... nur leider für mich noch recht spanisch^^. Müßte mal enn Beispiel sehen..

    danke..
     
  9. schatzi Super-Moderator
    Hallo!

    Alles ungetestet:

    Nenne die Buttons der einen Gruppe z.B. wie folgt
    cmd1x, cmd2x, cmd3x, usw.
    Die Buttons der anderen Gruppe heißen dann
    cmd1y, cmd2y, cmd3y, usw.

    Definiere eine globale Variable außerhalb der Prozeduren

    Public Aktuell As String

    Alle Click-Prozeduren erhalten als erste Zeile
    Aktuell = "x"
    oder
    Aktuell = "y"
    je nach Gruppe.

    Die Entfärben-Prozedur könnte dann so aussehen:
    Private Sub Entfaerben()
    Dim oO As OLEObject
    For Each oO In Me.OLEObjects
    If TypeOf oO.Object Is MSForms.CommandButton Then
    If Aktuell = Right(oO.Name, 1) Then
    oO.Object.BackColor = &H8000000F
    End If
    End If
    Next
    End Sub
     
  10. Gomorra Erfahrener User
    Hallo Schatzi,

    du bist die Beste!!

    untenstehend für drei Spalten klappt super

    (ich muß jetzt nur noch 150 cdms ändern^^)


    Public Aktuell As String


    Private Sub Entfaerben()
    Dim oO As OLEObject
    For Each oO In Me.OLEObjects
    If TypeOf oO.Object Is MSForms.CommandButton Then
    If Aktuell = Right(oO.Name, 1) Then
    oO.Object.BackColor = &H8000000F
    End If
    End If
    Next
    End Sub




    Private Sub cmd1x_Click()
    Aktuell = "x"
    Call Entfaerben
    cmd1x.BackColor = vbBlue

    End Sub
    Private Sub cmd2x_Click()
    Aktuell = "x"
    Call Entfaerben
    cmd2x.BackColor = vbBlue

    End Sub
    Private Sub cmd1y_Click()
    Aktuell = "y"
    Call Entfaerben
    cmd1y.BackColor = vbBlack

    End Sub
    Private Sub cmd2y_Click()
    Aktuell = "y"
    Call Entfaerben
    cmd2y.BackColor = vbBlack

    End Sub


    Private Sub cmd1z_Click()
    Aktuell = "z"
    Call Entfaerben
    cmd1z.BackColor = vbRed

    End Sub
    Private Sub cmd2z_Click()
    Aktuell = "z"
    Call Entfaerben
    cmd2z.BackColor = vbRed

    End Sub


    vielen viele vielen Dank!!!!
     
Thema:

Frage zur Befehlsschaltfläche

Die Seite wird geladen...
  1. Frage zur Befehlsschaltfläche - Similar Threads - Frage Befehlsschaltfläche

  2. Outlook Neuling - Fragen

    in Microsoft Outlook Hilfe
    Outlook Neuling - Fragen: Hallo ihr Wissenden, fange gerade mit Outlook an und es hakt etwas. Konfiguration: Outlook im Firefoxbrowser, bisher wurden die Mails mit Thunderbird abgerufen Outlook lokal aus dem Officepaket....
  3. Outlook: Mailinglisten erstellen und andere Fragen

    in Microsoft Outlook Hilfe
    Outlook: Mailinglisten erstellen und andere Fragen: Ich habe mal ein paar Fragen zu Outlook. Ich nutze es zu Hause und auf der Arbeit. An beiden Geräten habe ich "Office 365", bzw. auf Arbeit "Office 365 ProPlus". Allerdings habe ich immer so das...
  4. FRAGE: Wenn(oder ; Wenns

    in Microsoft Excel Hilfe
    FRAGE: Wenn(oder ; Wenns: Hallo liebe Excel Legenden. Ich zerbreche mir jetzt schon seit Stunden den Kopf. Folgende Situation: Spalte A Tätigkeit Spalte B Anzahl Max Spalte C Anzahl Min Wenn ich jetzt bei Tätigkeit in...
  5. Frage zu Wenn Formel

    in Microsoft Excel Hilfe
    Frage zu Wenn Formel: Hallo, ich habe eine Liste bei der ich, wenn in einer Zelle die Meldung Net Price steht, dann nicht gerechnet werden soll. Allerdings ist bei mir diese Zeile nicht die eigentliche in der...
  6. Doofe Frage zu Power Query

    in Microsoft Excel Hilfe
    Doofe Frage zu Power Query: Hallo zusammen, habe ein doofe Frage. Ich habe über den Weg -Daten-Daten abrufen-aus Datei-aus Arbeitsmappe eine Tabelle in eine andere Mappe importiert. Wenn ich nun in der Quelldatei was ändere...
  7. Office 365 family / Outlook Fragen

    in Microsoft Outlook Hilfe
    Office 365 family / Outlook Fragen: Hallo habe alles neu gemacht am computer jetzt habe ich Win 10 64 bit also Outlook - das was bei Start PRogramme ist öffnet nicht Auf der MS Tastatur ist ein Knopf E-Mail der immer ging es öffnet...
  8. Frage zu CheckBox - TripleState =True

    in Microsoft Excel Hilfe
    Frage zu CheckBox - TripleState =True: Hallo zusammen, ich arbeite an einer kleinen Tabelle und bin beim Erstellen einer UserForm über CheckBoxen gestolpert. In den Eigenschaften gibt es den Triple State, den ich gerne nutzen würde....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden