Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Auflösung ActiveX spinnt
#1
Hey Leute,

ich arbeite aktuell an einer Excel, welche mehrere ActiveX Schaltflächen und Buttons hat.
Ich habe einen Laptop an den über eine Dockingstation 2 Bildschirme angeschlossen sind.

Solange ich nur auf diesen Bildschirmen arbeite ist alles bestens.
Aber sobald ich den Laptop aus der Dockingstation herausnehme und z.B. einen Beamer anschließe zerschießt es mir komplett alle ActiveX Steuerelemente.

Sie sind dann größer/kleiner als normal und verändert ihre Größe beim Klick darauf.

Ich verwende Office 2010 mit Windows 7.

Hat jemand eine Idee, wie man verhindern kann dass das beim Anschließen eines Beamers passiert?
Antworten Top
#2
Hallo,

...mal so als Ansatz, ob es hilft mußt Du selbst testen:
man kann auch die Größe eines Buttons im Code festlegen.

Zitat:Private Sub CommandButton4_Click()
    With CommandButton4
        .Height = 24
        .Left = 655.5
        .Top = 219
        .Width = 139.5
    End With
End Sub
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#3
Da es mehrere Buttons gibt, die sich beim klick auf ein ActiveX Steuerelement gleichzeitig ändern wollte ich eine Methode machen, die alle Größen festlegt und diese Methode dann in jedem Element aufrufen.

Code:
Private Sub SizeControlls()
With CheckBox26
        .Height = 16.5
        .Left = 649.5
        .Top = 75.75
        .Width = 10.5
End With
Code:
Private Sub CheckBox26_Click()
Application.ScreenUpdating = False
Call SizeControlls
[...]
Application.ScreenUpdating = True
End Sub

Wenn ich CheckBox26 klicke passiert aber absolut nichts. Egal welche Werte ich in SizeControlls angebe - er ruft die Methode irgendwie nicht auf.
Antworten Top
#4
Hallo,

Zitat:Private Sub CheckBox26_Click()
Application.ScreenUpdating = False
Call SizeControlls
[...]
Application.ScreenUpdating = True
End Sub

und wo finde ich den von mir geposteten Code in Deinem Makro?
Wenn Du willst, daß mein Code in Deinem funktioniert, dann mußt Du ihn auch einbauen.
Und wenn Du willst, daß mehrere Buttons gleichzeitig was tun sollen, dann muß mindestens eine Schleife
drumrum. Und wenn Du jedem Button die von mir vorgegebenen Werte zuordnest, dann werden Deine
Buttons alle aufeinander liegen. Das willst Du ganz sicher auch nicht.

Du hast inzwischen 49 Themen erstellt, aber offenbar ist von der bisherigen Ratschlägen der Helfer nicht
sehr viel zurückgeblieben. Es scheint so, als hätte sich lediglich Deine Copy&Paste-Feinmotorik verbessert.

Also, zeige uns Deine Datei, denn mit den paar Angaben die Du bisher gemacht hast, fange ich gar nicht
erst mit dem Programmieren an.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
Hallo,

Beide codes gehören in das Tabellenblattmodul, wo die Checkbox enthalten ist. Stehen sie dort?
Wie stellst Du fest, ob was aufgerufen wurde? Hast Du einen Haltepunkt in den Code gesetzt?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
(14.02.2019, 18:22)Käpt\n Blaubär schrieb: Hallo,


und wo finde ich den von mir geposteten Code in Deinem Makro?
Wenn Du willst, daß mein Code in Deinem funktioniert, dann mußt Du ihn auch einbauen.
Und wenn Du willst, daß mehrere Buttons gleichzeitig was tun sollen, dann muß mindestens eine Schleife
drumrum. Und wenn Du jedem Button die von mir vorgegebenen Werte zuordnest, dann werden Deine
Buttons alle aufeinander liegen. Das willst Du ganz sicher auch nicht.

Du hast inzwischen 49 Themen erstellt, aber offenbar ist von der bisherigen Ratschlägen der Helfer nicht
sehr viel zurückgeblieben. Es scheint so, als hätte sich lediglich Deine Copy&Paste-Feinmotorik verbessert.

Also, zeige uns Deine Datei, denn mit den paar Angaben die Du bisher gemacht hast, fange ich gar nicht
erst mit dem Programmieren an.


Deine patzigen Antworten gehen mir so langsam tierisch auf den Zeiger.
Lern lesen wenn du deinen Code suchst.

Ich habe ausdrücklich gesagt, dass ich eine Methode generiert habe in der die Position und Größe ALLER Elemente gesetzt wird.
Und diese Methode rufe ich in jedem Element auf.

Wenn ich CheckBox1 anklicke verändert sich teilweise gleichzeitig die Größe von CheckBox2.
Es bringt mir also nichts im Click Event von CheckBox1 die Größe von CheckBox1 zu setzen, wenn sich unabhängig davon die Größe von CheckBox2 verändert.

Bei jedem Klick auf jedes beliebige Element werden ALLE Elemente neu gesized.
Antworten Top
#7
(14.02.2019, 20:12)schauan schrieb: Hallo,

Beide codes gehören in das Tabellenblattmodul, wo die Checkbox enthalten ist. Stehen sie dort?
Wie stellst Du fest, ob was aufgerufen wurde? Hast Du einen Haltepunkt in den Code gesetzt?

Es steht alles auf dem jeweiligen Tabellenblatt.
Ich habe keine Module generiert und greife nicht auf andere Module / andere Blätter zu.

Die beiden Methoden stehen quasi direkt untereinander.
Antworten Top
#8
Ich habe meinen Fehler gefunden.

In meiner SizeControlls Methode gab es eine Logik: wenn ToggleButton1 = True dann alle Controlls weiter nach links, wenn ToggleButton1 = False dann alle Controlls wieder nach rechts.
ToggleButton1 hat 3 Spalten eingeklappt, daher musste alles links / rechts verschoben werden (also .Left angepasst werden).

Nun hatte ich den Fehler, dass ich zuerst die SizeControlls aufgerufen habe und anschließend die Spalten ausgeblendet.


Also im übertragenen Sinne so:
Code:
Private Sub CheckBox26_Click()
Application.ScreenUpdating = False
Call SizeControlls
Call SpaltenAusblenden
Application.ScreenUpdating = True
End Sub

Damit hat die Position meiner Controlls im Anschluss natürlich überhaupt nicht mit dem zusammen gepasst, was ich mir gedacht hatte.


Es hat schon gereicht die beiden Calls zu tauschen und schon funktioniert alles so wie es soll.
Antworten Top


Gehe zu:


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