Anzeige
Archiv - Navigation
1612to1616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Button Backcolor

Button Backcolor
23.03.2018 10:56:48
Antonio
Hallo Gemeinde,
für ein Button habe es so gemacht:
If myCmd2.BackColor = &HFF0000 Then
myCmd2.BackColor = &H80000002
Else
myCmd2.BackColor = &HFF0000
End If
Ausgang Farbe für alle Buttons: Blau
aber wie soll der Code ausschauen wenn ich Button1 anclicke:
Farbe = Hellblau
zweite Button anclicken :
erste Button Fabe = Blau
zweite Button Farbe = Hellblau
Eine Art.... man sieht welche Button gerade gedruckt worden ist
Danke in Voraus
Antonio

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button Backcolor
23.03.2018 11:07:39
Zwenn
Hallo Antonio,
ich würde eine Sub schreiben, die alle Buttons auf die Ausgangsfarbe setzt. Diese Sub rufst Du zuerst im OnClick() aller Buttons auf und setzt danach den jeweiligen Button auf die "Ich wurde geklickt" Farbe. Kommt ein Button dazu, brauchst Du nur die Sub zum Farben zurücksetzen, um diesen Button erweitern und es funktioniert automatisch wieder mit allen Buttons.
Ich wußte gar nicht, dass man Buttons einfärben kann.
Viele Grüße,
Zwenn
AW: Button Backcolor
23.03.2018 11:16:37
Antonio
Hallo Zwenn,
danke für die Rückmeldung.
@ die Buttons kannst du im Eigenschaftfenster unter "BackColor" einfärben.

Kommt ein Button dazu
Die Buttons sind beim starten alle in der Form.
Das ist mein Problem.
Antonio
Anzeige
AW: Button Backcolor
23.03.2018 12:31:54
Zwenn
Das Problem verstehe ich nicht. Meine Aussage beinhaltet nur, es ist egal, für wieviele Buttons Du das willst. So klappt es immer.
AW: Button Backcolor
23.03.2018 12:49:01
Antonio
Hallo Zwenn,
ich stehe völlig daneben.
Also die Buttons (Array) haben schon beim starten der Form die Ausgangsfarbe.
Hier mein Code in der Form für die Buttons:
Dim myClass1 As clsButtonArray1                 '###### Button Array 1 #####
Set myColl1 = New Collection
Dim myClass2 As clsButtonArray2
Set myColl2 = New Collection
Dim a As Integer, j As Integer, k As Integer, t As Integer
k = 1 'Spalte
j = 1 'Zeile
t = 10 'Anzahl Tasten in Zeile
For i = 1 To 60
Set ctrl = UserForm1.Frame1.Controls.Add("Forms.CommandButton.1", "myCmd1" & i, True)
With ctrl
.Tag = i
'            .Caption = "cmdButton " & Format(i, CStr("00"))
.Left = k * 50.6 - 50.6
.Height = 20
.Width = 50.6
.Top = j * 20 - 20
.BackColor = &H80000002
.Font.Size = 9
End With
k = k + 1
If i Mod t = 0 Then
j = j + 1 'nächste Zeile
k = 1
End If

Hier mein Code in ein Klassenmodul für das Click Ereignis der Buttons:
Option Explicit
Dim myColl1 As New Collection
Dim myColl2 As New Collection
Public WithEvents myCmd2 As MSForms.CommandButton
Public WithEvents myCmd1 As MSForms.CommandButton
Private Sub myCmd1_Click()
Worksheets("Tabelle6").Activate
ActiveSheet.Cells(9, 11).Value = myCmd1.Caption
Dim Text As String
Text = ActiveSheet.Cells(9, 11).Value
ActiveSheet.Cells(8, 11).Value = Right(Cells(9, 11).Text, Len(Cells(9, 11).Text) - 1)
'MsgBox myCmd1.Caption
Call UserForm1.Eintragen
Call UserForm1.copy_paste
Call UserForm1.InStr
End Sub
Kannst du mir bitte sagen was und wo ich was screiben soll.
In Click Ereignis habe mein Code schon gehabt aber die Buttons ändern die Farbe aber schalten sie nicht zurück beim nächtes Click.
Und das mit dem Zurücksetzen habe leider nicht verstanden.
Vielleich gibst du mir ein Anregung oder ein bisschen Code zum Verständnis.
Danke in Voraus
Antonio
Anzeige
AW: Button Backcolor
24.03.2018 11:59:07
Zwenn
Hallo Antonio,
mit OOP habe ich in VBA bisher absolut nix eigenes gemacht und kann bei Deinem Code-Ausschnitt deshalb teilweise nur 'einschätzen', was er macht bzw. machen soll. Aber genau zu Deinem Problem habe ich eine schöne Diskussion gefunden. Die ist zwar schon von 2007, aber einer der beteiligten war Nepumuck, der auch heute noch hier bei Herber aktiv ist. Das bedeutet, was da steht hat 'Hand und Fuß', wie man so sagt.
Gleich im ersten Posting steht eine Routine, wie man alle Buttons anspricht, um sie umzufärben. Diese startest Du in Deinem Fall jedoch nicht über das Initialize-Ereignis der Userform, sondern Du musst den Aufruf in Deinem Button-Click-Ereignis unterbringen, bevor Du dann den einen angeklickten Button auf seine eigene Farbe setzt. Nach OOP Regeln würde dass für mich bedeuteuten, Du bettest Die Sub mit in Dein Klassenmodul ein. (Aber wie gesagt, OOP habe ich in VBA noch nicht selbst verwendet.)
Ich denke mit diesem Link solltest Du weiter kommen und vielleicht sogar noch einige weitere Erkenntnisse zu Deinem Vorgehen erlangen:
http://www.office-loesung.de/ftopic179514_0_0_asc.php
Viele Grüße,
Zwenn
Anzeige
AW: Button Backcolor
26.03.2018 06:38:09
Antonio
Hallo Zwenn,
vielen Dank.
Bin weiter gekommen.
Grüße
Antonio

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige