Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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

Userform Bildschirmgröße

Userform Bildschirmgröße
13.09.2021 23:46:19
Thomas
Hallo zusammen,
mir wurde bei der angehängten Datei schonmal eine Hilfestellung gegeben, deshalb verlinke ich den alten Thread, allerdings handelt es sich um ein neues Problem.
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1842479
Ich habe zu der damals erstellten Datei, auf der usereform eine Multipage hinzugefügt, um auf der zweiten Seite eine Suche einzufügen.
Dies klappt soweit wie gewünscht.
Außerdem habe ich folgenden Code gefunden und eingebaut, der dafür sorgen sollte, das sich die Userform immer in Bildschirmgröße öffnet, was zunächst auch funktioniert.
Wenn ich allerdings beginne, in das Suchfeld der Suche auf der Multipage Seite Buchstaben einzugeben, verändert sich die Größe der Mulitpage.
In das Initialize Ereignis habe ich folgenden Code:

Dim Faktor As Single
Dim X As Single, Y As Single
Dim sngL As Single, sngO As Single, sngR As Single, sngU As Single
Dim oC As MSForms.Control
Faktor = Application.Height / (Me.Height - 3)
If Faktor  4 Then Faktor = 4
Me.Width = Application.Width
Me.Height = Application.Height
sngL = Me.Width
sngO = Me.Height
For Each oC In Me.Controls
sngL = Application.WorksheetFunction.Min(sngL, oC.Left)
sngO = Application.WorksheetFunction.Min(sngO, oC.Top)
sngR = Application.WorksheetFunction.Max(sngR, oC.Left + oC.Width)
sngU = Application.WorksheetFunction.Max(sngU, oC.Top + oC.Height)
Next oC
X = (Me.Width - (sngR * Faktor) - (sngL * Faktor)) / 2 / Faktor
Y = (Me.Height - (sngO * Faktor) - (sngU * Faktor) - 20) / 2 / Faktor
Me.Controls.Move X, Y
Me.Zoom = Faktor * 100

Und in Modul 1 folgenden Code eingefügt:

Public Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As LongPtr) As LongPtr
Public Const X_RESOLUTION = 1920
Public Const Y_RESOLUTION = 1080
Public Const SM_CXSCREEN = 0
Public Const SM_CYSCREEN = 1
Die Datei:
https://www.herber.de/bbs/user/148053.xlsm
Hat hierzu vielleicht jemand eine Idee, wie ich dafür sorgen kann, das diese Änderung der Größe der Mulitpage nicht mehr auftritt und die Ursprüngliche Größe erhalten bleibt?
Ich danke allen die sich mit meiner Problematik beschäftigen im Voraus!
Viele Grüße
Thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Bildschirmgröße
14.09.2021 06:45:17
ralf_b
Die Zeile auskommentieren und dann bleibt deine Multipage wo sie ist.

Private Sub term_Change()
UserForm_Initialize
......

AW: Userform Bildschirmgröße
14.09.2021 10:32:57
Thomas
Hallo ralf_b,
vielen Dank für den Hinweis, es hat super funktioniert!
Viele Grüße
Thomas
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige