Anzeige
Archiv - Navigation
1924to1928
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

Schaltfläche Hintergrundfarbe ändern VBA

Schaltfläche Hintergrundfarbe ändern VBA
19.04.2023 10:11:12
Peter

Folgendes Problem:
Ich habe mir auf Arbeit eine Excel Tabelle erstellt und starte über einen Button ein Makro.

Nach einem Update wurden die Verwendung von ActiveX-Steuerelementen aus Sicherheitsgründen deaktiviert. Wichtig: ich habe keine Berechtigung, diese Einstellung zu ändern, und unsere IT-Abteilung wird das auch nicht für mich ändern. Tipps und Vorschläge in dieser Richtung sind also nicht nötig.

Zurück zum Problem: bisher habe ich Befehlsschaltflächen (ActiveX-Steuerelement) verwendet, das geht jetzt halt nicht mehr. Statt dessen habe ich Schaltflächen (Formularsteuerelement) eingefügt und diese per VBA formatiert (finde ich einfacher und präziser).


tabMain.Shapes.Range(Array("cmdGetData")).Select
    Selection.Characters.Text = "Get Data"
    Selection.Height = 24
    Selection.Width = 69
    Selection.Top = 3
    Selection.Left = 6
    Selection.OnAction = "tabMain.cmdGetData_Click"


Jetzt würde ich gerne noch die Hintergrundfarbe ändern.
Bei einem ActiveX-Button ginge das einfach so:
CommandButton1.BackColor = vbGreen

Wie kann ich das bei einem Formularsteuerelement-Button umsetzen, falls überhaupt?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schaltfläche Hintergrundfarbe ändern VBA
19.04.2023 10:21:50
Oberschlumpf
Hi Peter,

dieser Beitrag...
https://www.herber.de/forum/archiv/1128to1132/1129068_Hintergrundfarbe_Steuerelement.html
...ist zwar schon etwas älter, aber ich glaub, es hat sich nix dran geändert, dass man die HG-Farbe von Formularsteuerelementen - nicht - ändern kann.

Da ich DAS aber nicht ganz genau weiß, keine aktuelleren Treffer finde, lass ich den Beitrag offen.

Hilfts?

Ciao
Thorsten


AW: Schaltfläche Hintergrundfarbe ändern VBA
19.04.2023 10:51:34
Beverly
Hi Peter,

wie Thorsten schon geschrieben hat: bei Formularsteuerelementen kann man die Hintergrundfarbe nicht ändern. Nimm doch stattdessen eine Form, dann ist es z.B. nach diesem Prinzip möglich:

    With ActiveSheet.Shapes("Rechteck 1").OLEFormat.Object
        .Interior.Color = vbGreen
    End With
Bis später
Karin



Anzeige
hach, es kann so einfach sein :-) danke Karin..owT
19.04.2023 11:12:32
Oberschlumpf


AW: hach, es kann so einfach sein... ist aber nich
19.04.2023 11:56:51
Peter
Leider kommt bei mir dann nur die Fehlermeldung "ObjeKt unterstützt diese Eigenschaft oder Methode nicht"

Fehlt mir da villeicht noch ein Verweis?


AW: hach, es kann so einfach sein... ist aber nich
19.04.2023 12:07:02
Oberschlumpf
Peter ,

du bist VBA = Gut! echt??????
Wenn JA, dann probier doch mal n bisschen rum! auch Google ist eine echt verdammt gute Hilfe...vor allem dann, wenn man VBA = Gut ist
Ja, ich weiß, Gut = man weiß noch immer nicht alles....aber trotzdem

und ähh???....ne Bsp-Datei per Upload zeigen? mit allem, was dir Probleme macht? Wieso kommst du nich auf diese Idee???

UND! Ich hab gerad den Code von Karin getestet mit Ergebnis = ES FUNKTIONIERT SO WAS VON!

Ciao
Thorsten


Anzeige
AW: hach, es kann so einfach sein... ist aber nich
19.04.2023 12:27:32
Peter
Huch, wirst Du gleich agressiv. Entspann Dich mal :-)


AW: hach, es kann so einfach sein...
19.04.2023 12:37:44
Beverly
Dann nehme ich an, du hast keine Form verwendet. Aber ohne hochgeladene Mappe unmöglich etwas dazu zu äußern...

Übrigens: ich poste keine Codes, die ich nicht vorher getestet habe. Falls ich einen Code mal nicht getestet habe oder - aus was für Gründen auch immer - nicht testen kann, dann vermerke ich das auch entsprechend im Beitrag.

Bis später
Karin



AW: hach, es kann so einfach sein...
19.04.2023 13:09:58
Peter
Ach, sorry, mein Fehler. Ich hab das mit der Form überlesen und nur den Code angewendet *schäm*
Werde mal Testen


Anzeige
AW: Schaltfläche Hintergrundfarbe ändern VBA
19.04.2023 12:26:04
GerdL
Hallo Peter!

Menü Einfügen (bei mir) -> Formen
Rechteck auswählen
In die Tabelle einfügen
Entwurfsmodus beenden
Code z.B.:
Sub Makro1()
     ActiveSheet.Shapes("Rechteck 1").OLEFormat.Object.Interior.Color = vbGreen
End Sub
Gruß Gerd


AW: Schaltfläche Hintergrundfarbe ändern VBA
19.04.2023 13:07:22
Peter
Vielen Dank, das teste ich mal.


AW: Schaltfläche Hintergrundfarbe ändern VBA
21.04.2023 07:52:02
Peter
Danke an Karin (Beverly) und GerdL, so hat es geklappt.
Mit diesem Code wird dann sogar ein Button-Click "simuliert"

Sub CmdClick()
    Dim vTopType As Variant
    Dim iTopInset As Integer
    Dim iTopDepth As Integer

'Button Einstellungen merken
    With ActiveSheet.Shapes(Application.Caller).ThreeD
        vTopType = .BevelTopType
        iTopInset = .BevelTopInset
        iTopDepth = .BevelTopDepth
    End With

'Button Down
    With ActiveSheet.Shapes(Application.Caller).ThreeD
        .BevelTopType = msoBevelSoftRound
        .BevelTopInset = 4
        .BevelTopDepth = 2
    End With

    Application.ScreenUpdating = True
    DoEvents

'Button Up - Button Einstellungen wiederherstellen
    With ActiveSheet.Shapes(Application.Caller).ThreeD
        .BevelTopType = vTopType
        .BevelTopInset = iTopInset
        .BevelTopDepth = iTopDepth
    End With

End Sub

Anzeige

176 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige