Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

auto. Anpassung UF

Betrifft: auto. Anpassung UF von: Tom
Geschrieben am: 15.08.2004 21:46:15

Hallo zusammen,
hab´s jetzt endlich fertig gebracht, das sich meine Datei der jeweiligen Bild-
schirmauflösung anpasst(an dieser stelle nochmals ein Dankeschön an Dieter). Nun habe im Archiv folgendes zur automatischen Anpassung einer UserForm(je nach Bildschirmauflösung) gefunden.
Zack, schon wieder ein Problem.
Der Inhalt meiner UserFormen passt sich der jeweiligen Auflösung an, doch die UserForm selbst ändert sich nicht. Ist natürlich ärgerlich, weil dann nicht alle Funktionen zur Verfügung stehen.
Kann mir da jemand von Euch helfen?
Gruß
Tom

' **************************************************************
' Modul: Tabelle1 Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Option Explicit

Private Sub CommandButton1_Click()
	UserForm1.Show
End Sub

' **************************************************************
' Modul: UserForm1 Typ = Userform
' **************************************************************
Option Explicit

Private Sub UserForm_Initialize()
	'   Bildschirmauflösung, unter der die Userform erstellt wurde
	'   Breite  1152; 1280; 640
	'   Höhe     864; 1024; 480
	'   1152 ist die Breite des Bildschirmes bei Erstellung
	'   Code Zeile von L.Vira Anpassung der Formel mit Wertermttlung von Hajo.Ziplies@web.de
	Me.Zoom = GetSystemMetrics(SM_CXSCREEN) / 1152 * 100
End Sub


Private Sub UserForm_Zoom(Percent As Integer)
	'   Code von L.Vira
	Me.Width = Me.Width * Percent / 100
	Me.Height = Me.Height * Percent / 100
End Sub

' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Public Const SM_CXSCREEN = 0
Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  


Betrifft: AW: auto. Anpassung UF von: Ulf
Geschrieben am: 15.08.2004 22:04:16

Unter welcher Aulösung hast du dein UF erstellt, das muss im Code angepasst werden, steht aber auch da.

Ulf


  


Betrifft: AW: auto. Anpassung UF von: Tom
Geschrieben am: 15.08.2004 22:21:02

Hallo Ulf,
die Auflösung beträgt 800x600!
Das habe ich auch entsprechend geändert.
Nur ist es mir ein Rätsel, warum die UF da
nicht mit macht, dafür aber der Inhalt.
Hab ich möglicherweise etwas übersehen?
Gruß
Tom


  


Betrifft: AW: auto. Anpassung UF von: Ulf
Geschrieben am: 15.08.2004 22:38:20

dann sollte der Code im userform so aussehen:

Option Explicit
Private Sub UserForm_Initialize()
Me.Zoom = GetSystemMetrics(SM_CXSCREEN) / 800 * 100
End Sub


Private Sub UserForm_Zoom(Percent As Integer)
Me.Width = Me.Width * Percent / 100
Me.Height = Me.Height * Percent / 100
End Sub


Ulf


  


Betrifft: AW: auto. Anpassung UF von: Tom
Geschrieben am: 15.08.2004 22:55:18

Hallo Ulf,
eigenlich dürfte ich Depp es gar nicht erwähnen,
aber wenn ich nur den halben Code eingebe,
funktioniert es natürlich nicht.
Was fehlte,

Private Sub UserForm_Zoom(Percent As Integer)
Me.Width = Me.Width * Percent / 100
Me.Height = Me.Height * Percent / 100
End Sub

.
Schön, das du ihn noch einmal vollständig gepostet hast.
Jetzt funzt alles!
Vielen Dank für Deine Hilfe.
Gruß
Tom


  


Betrifft: AW: auto. Anpassung UF von: Ulf
Geschrieben am: 15.08.2004 22:56:37

Alles wird gut.

Ulf


 

Beiträge aus den Excel-Beispielen zum Thema "auto. Anpassung UF"