Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  Frage zur Befehlsschaltfläche
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
Gomorra
Newbie
Newbie


Anmeldedatum: 28.07.2008
Beiträge: 49

BeitragVerfasst am: 11.09.2008, 14:19 Nach oben

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
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 11.09.2008, 14:24 Nach oben

Hallo!

Schau mal hier.
Dort wird sowas beschrieben.

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
Gomorra
Newbie
Newbie


Anmeldedatum: 28.07.2008
Beiträge: 49

BeitragVerfasst am: 11.09.2008, 14:48 Nach oben

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..
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 11.09.2008, 15:02 Nach oben

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

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
Gomorra
Newbie
Newbie


Anmeldedatum: 28.07.2008
Beiträge: 49

BeitragVerfasst am: 11.09.2008, 15:09 Nach oben

wieder mal vom feinsten...

danke...

klappt super
Benutzer-Profile anzeigenPrivate Nachricht senden
Gomorra
Newbie
Newbie


Anmeldedatum: 28.07.2008
Beiträge: 49

BeitragVerfasst am: 12.09.2008, 08:21 Nach oben

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
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 12.09.2008, 08:38 Nach oben

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).

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
Gomorra
Newbie
Newbie


Anmeldedatum: 28.07.2008
Beiträge: 49

BeitragVerfasst am: 12.09.2008, 09:08 Nach oben

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..
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 12.09.2008, 09:31 Nach oben

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

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
Gomorra
Newbie
Newbie


Anmeldedatum: 28.07.2008
Beiträge: 49

BeitragVerfasst am: 12.09.2008, 09:50 Nach oben

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!!!!
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Frage bzgl. Matheformel ... fabtk Microsoft Excel Hilfe 1 06.11.2008, 14:20 Letzten Beitrag anzeigen
Keine neuen Beiträge Frage zum Tabellen vernetzen Donvito Microsoft Access Hilfe 1 01.10.2008, 09:45 Letzten Beitrag anzeigen
Keine neuen Beiträge Excel 2008 Mac Frage zu Diagrammen Donvito Microsoft Excel Hilfe 0 01.10.2008, 09:36 Letzten Beitrag anzeigen
Keine neuen Beiträge Frage zu Gültigkeitsliste und Makro f... Gomorra Microsoft Excel Hilfe 1 29.09.2008, 09:56 Letzten Beitrag anzeigen
Keine neuen Beiträge Profi Frage Textfelder und Felder in ... capoerafreak Microsoft Word Hilfe 1 27.09.2008, 20:03 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht 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 posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de