Registriert seit: 18.04.2014
Version(en): Office 2010
Ich habe ein merkwürdiges Verhalten einer Combobox.
2 exakt gleiche UF haben ein HEIGHT = 342.
In beiden ist eine Combobox auf TOP = 316 platziert.
In der UF1 öffnet sich die Combo nach oben, zeigt mir mit Bildlaufleiste 16 der 26 Elemente an.
Das ist okay.
In der UF2 öffnet sich die Combobox nach unten, zeigt mir mit Bildlaufleiste 16 der 26 Elemente an, aber verschwindet aus dem Bereich des Screens.
Das ist schlecht.
Kann man das Verhalten, sprich die Richtung, oder Position der sich öffnenden Combo steuern?
Vielleicht gibt es ja da Befehle, die in den Eigenschaften nicht drin stehen, sondern nur als reiner VBA Code existiert.
Kann mir da jemand sagen, was ich tun kann, damit die Combo nach oben aufgeht?
Oder gibt es einen Parameter, den ich übersehen habe, dass es bei der einen geht und bei der anderen nicht?
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo,
und wie weit sind die beiden UF´s vom oberen bzw. unteren Bildschirmrand entfernt positioniert?
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 18.04.2014
Version(en): Office 2010
Hallo Stefan,
die UF werden alle auf Screen Max gezogen.
Der Zoomfaktor wird in einem separaten Blatt gespeichert, so dass der User die UF wieder auf seine screengröße hat.
Code:
Function UF_size(objUF As Object)
objUF.Height = Application.Height
objUF.Width = Application.Width
objUF.Left = 0
objUF.Top = 0
strBreite = Application.Width
UFZ = Workbooks(strTF).Sheets("Listen").Range("A25")
If UFZ < 70 Then UFZ = 70
objUF.Zoom = UFZ
Workbooks(strTF).Sheets("Listen").Range("A25") = UFZ
End Function
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Achim,
könntest Du die Datei hier hochladen?
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 18.04.2014
Version(en): Office 2010
Die ganze Datei hat 21MB.
Keine so gute Idee.
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Achim,
eine Datei in dieser Größenordnung hier hochzuladen ist in der Tat nicht sehr sinnvoll. Was mir aber auffiel: Hier schreibst Du von der UF-Größe
(04.07.2014, 14:24)maine-coon schrieb: 2 exakt gleiche UF haben ein HEIGHT = 342.
In beiden ist eine Combobox auf TOP = 316 platziert.
Für mich scheint es so, das dies eine feste Größe ist. Aber hier schreibst Du
(04.07.2014, 15:55)maine-coon schrieb: die UF werden alle auf Screen Max gezogen.
Der Zoomfaktor wird in einem separaten Blatt gespeichert, so dass der User die UF wieder auf seine screengröße hat.
das die UF-Größe auf die Bildschirmgröße des Anwenders angepaßt wird. Was gilt jetzt? Denn nicht jeder Anwender hat gleiche Bildschirmgröße wie zum Beispiel Du. Und wird die Größenanpassung bei beiden UF überhaupt durchlaufen?
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 18.04.2014
Version(en): Office 2010
Aufgefallen ist mir das erst, als ich das auf meinem kleinen Netbook sah.
Der hat 1366x768. Mein Desktop Rechner hängt an einem Screen mit 2560 x 1440.
Dabei haben beide das gleiche Verhältnis.
Der User kann sich das anpassen. Und zwar so.
Code:
Sub CommandButton6_Click() ' UF Kleiner
If UserForm2.Zoom >= 70 Then
With UserForm2
.Zoom = .Zoom - ZF
.Height = .Height - 0
.Width = .Width - 3
Label16.Caption = "<<< " & .Zoom & "% >>>"
UFZ = .Zoom
End With
Workbooks(strTF).Sheets("Listen").Range("A25") = UFZ
Else
UserForm10.CommandButton7.SetFocus
End If
End Sub
Private Sub CommandButton7_Click() 'UF Grösser
If UserForm2.Zoom <= 200 Then
With UserForm2
.Zoom = .Zoom + ZF
.Height = .Height + 0
.Width = .Width + 3
Label16.Caption = "<<< " & .Zoom & "% >>>"
UFZ = .Zoom
End With
Workbooks(strTF).Sheets("Listen").Range("A25") = UFZ
Else
UserForm10.CommandButton6.SetFocus
End If
End Sub
Ich habe jetzt die eine Combobox auf einen kleineren Wert bei ListRows gesetzt. Dann ist zwar die Bildlaufleiste zu sehen, aber besser, als nicht sichtbare Teile zu haben.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Die UF werden auf die Größe der Application gezogen. Die haben mit dem geposteten code nur dann die Bildschirmgröße, wenn Excel auch entsprechend groß ist. Beim Test sollte Excel in beiden Szenarien also auch oben rechts das Vollbildsymbol anzeigen. Ich gehe davon aus, dass die Größe geprüft wurde.
Haben denn beide Combos auch ansonsten gleiche Eigenschaften wie z.B. Anzahl der angezeigten Zeilen, Anzahl der Einträge usw?
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.04.2014
Version(en): Office 2010
Da die UF auf Screen max geht, gibt es oben rechts auch nur das Kreuz der UF zu sehen.
Eine Prüfung der Größe? Da kann ich dir jetzt nicht folgen, was du damit meinst.
Die Combos haben beide die gleiche Größe, aber unterschiedliche Inhalte; also TextBoxen, Labels, Comboboxen.
Und beide UF werden gleich behandelt.
Das klingt jetzt etwas merkwürdig, aber das gesamte Programm besteht nur aus sichtbaren UF.
Es ist ein Programm zur Filterung eines Katalogs.
Das ganze ist wirklich nicht so dramatisch. Ich habe ja jetzt die ListRows verkleinert und alles ist gut.
Ist halt nur merkwürdig, dass die eine Combo es richtig darstellt, die andere nicht.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
05.07.2014, 05:35
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2014, 05:50 von schauan.)
Hallo Achim,
irgendwoher musst Du die Höhe von 342 herbekommen haben - das meinte ich mit geprüft. Ich wäre dazu im VBA-Editor in beiden Fällen den ersten code schrittweise durchgegangen und hätte mir die Eigenschaft objUF.Height anzeigen lassen.
Wenn die Anzahl der angezeigten Zeilen der Comboboxen - also die ListRows - unterschiedlich sind, kann das eine Ursache für das unterschiedliche Verhalten in den beiden UserForms sein
Inzwischen hast Du geschrieben, dass die Auflösung unterschiedlich ist.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)