VBA ToggleButton Teil 1 (Farbe ins Spiel bringen)
#11
Hallo Jörg,

leider kann ich nichts Ungewöhnliches feststellen.
Fakt ist, dass sich ActiveX-Elemente in einem Tabellenblatt
nicht exakt so verhalten wie in einer Userform.
Was aber unbedingt noch gemacht werden sollte, ist das sofortige Deaktivieren
des Buttons nach dem Klick. Beim CommandButton gibt es dafür
die TakeFocusOnClick-Eigenschaft, welche aber bei bei den anderen Elementen fehlt.
Schreibe einfach in die letzte Zeile ActiveCell.Activate.

Gruß Uwe
Top
#12
Hi Uwe, das mit dem ActiveCell.Activate habe ich verstanden, aber das andere Problem bleibt... So sieht das Kacke aus. Und so werde ich wohl meine kleine Spielerei wohl anders lösen müssen...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#13
Hallo zusammen, nachdem ich mit meiner ursprünglichen Idee komplett gescheitert bin, habe ich mir überlegt, ob man das nicht über eine Autoform oder einem Textfeld lösen könnte, das sich per Anklicken anders färbt...? Ist das wohl möglich..?
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#14
Hi Jörg,

ich hatte schon befürchtet, dass Du nicht nachfragst.

Hier ein Beispiel mit zwei Autoformen Rechteck.


.xls   ToggleButtonErsatz.xls (Größe: 35,5 KB / Downloads: 7)

Gruß Uwe
Top
#15
Hallo Uwe, kannst du Gedanken lesen..? Ich hatte schon angefangen ff. zu schreiben..:

Hallo, nur nochmal nachgehakt. Ich möchte nunmehr mehrere Autoformen die frei in der Tabelle "liegen" durch Anklicken eine Frabe zuweisen (später auch einen Bereich, aber da bin ich noch nicht)
Bild unten sollen die Zustände 1 und 2 zeigen - also ein Klick Zustand 1 (Farbe 1) nochmal Klick Zustand 2 (Farbe 2)

[URL=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Den ersten Schritt denke ich, habe ich gefunden..:

Public Sub shape_2_BeiKlick()
With ActiveSheet
.Shapes("shape_2").Fill.ForeColor.SchemeColor = 3
End With
End Sub
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#16
Hallo Uwe, ich habe bislang keine Möglichkeit gefunden die RGB-Farben einzusetzen.. ;-(

Ich hätte nämlich gern diese beiden Farben vom Beitrag #15 ...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#17
Hi Jörg,

statt .Fill.ForeColor.SchemeColor = 50
z.B. .Fill.ForeColor.RGB = RGB(0, 222, 0)

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Jockel
Top
#18
Hallo Uwe mal sehen, wie weit ich komme... danke schon mal bis hierher...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#19
Hi Uwe, okay, das Farbenspiel habe ich hinbekommen... Das war durch deine Vorarbeit nicht mehr wirklich schwierig. Jetzt möchte ich, wenn ich eingeschaltet habe (keine MessageBox, sondern) eine 1 in Zelle E1 geschrieben wird beim Auschalten soll dort eine 0 stehen... ... da beisse ich noch auf Granit... Kannst du mich bitte nochmal "anstoßen"..?
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#20
Hi Jörg,

jetzt wird es noch viel einfacher:

Code:
Sub Rechteck_BeiKlick()
  Dim oShape As Shape
  Dim rngV As Range
  Set oShape = ActiveSheet.Shapes(Application.Caller)
  With oShape
    'Verweis auf linke obere Zelle unter Button um eine Spalte nach rechts versetzt
    Set rngV = .TopLeftCell.Offset(0, 1)
    If rngV.Value <> 1 Then
      rngV.Value = 1
      .Fill.ForeColor.RGB = RGB(204, 204, 255)
    Else
      rngV.Value = 0
      .Fill.ForeColor.RGB = RGB(51, 153, 255)
    End If
  End With
End Sub

Gruß Uwe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste