Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
27.09.2014, 23:17
(Dieser Beitrag wurde zuletzt bearbeitet: 27.09.2014, 23:19 von Kuwer.)
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
Registriert seit: 10.04.2014
Version(en): Office 2019
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
Registriert seit: 10.04.2014
Version(en): Office 2019
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
03.10.2014, 22:43
(Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2014, 22:43 von Kuwer.)
Hi Jörg,
ich hatte schon befürchtet, dass Du nicht nachfragst.
Hier ein Beispiel mit zwei Autoformen Rechteck.
ToggleButtonErsatz.xls (Größe: 35,5 KB / Downloads: 7)
Gruß Uwe
Registriert seit: 10.04.2014
Version(en): Office 2019
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
Registriert seit: 10.04.2014
Version(en): Office 2019
03.10.2014, 23:20
(Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2014, 23:27 von Jockel.)
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
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:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Jockel
Registriert seit: 10.04.2014
Version(en): Office 2019
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
Registriert seit: 10.04.2014
Version(en): Office 2019
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
04.10.2014, 23:08
(Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2014, 23:56 von Kuwer.)
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