Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
848to852
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
848to852
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Grösse der UserForm reagiert träge
25.02.2007 11:53:00
Gregor
Hallo zusammen
Ich erhielt gestern in diesem Forum den Hinweis, wie ich eine UserForm der aktuellen Grösse anpassen kann. Mit diesem Makro funktioniert es (die Variablen Zähler und intZeile werden vorab bestimmt).
Nun erscheint aber bei Verkleinerungen gegenüber der vorherigen Anzeige immer ein weisser Hintergrund in der Grösse der vorherigen UserForm. Das ist sehr unschön. Kann ich das beheben und wie?
If Zähler = 1 Then usrPerronhöhen.Width = 275
If Zähler = 2 Then usrPerronhöhen.Width = 381
If Zähler = 3 Then usrPerronhöhen.Width = 489
If Zähler = 4 Then usrPerronhöhen.Width = 597
If intZeile1 = 1 Then usrPerronhöhen.Height = 106
If intZeile1 = 2 Then usrPerronhöhen.Height = 130
If intZeile1 = 3 Then usrPerronhöhen.Height = 155
If intZeile1 = 4 Then usrPerronhöhen.Height = 177
If intZeile1 = 5 Then usrPerronhöhen.Height = 202
If intZeile1 = 6 Then usrPerronhöhen.Height = 225
Vielen Dank
Gregor

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grösse der UserForm reagiert träge
25.02.2007 13:23:42
Jan
With Me
If Zähler = 1 Then .Width = 275
If Zähler = 2 Then .Width = 381
If Zähler = 3 Then .Width = 489
If Zähler = 4 Then .Width = 597
If intZeile1 = 1 Then .Height = 106
If intZeile1 = 2 Then .Height = 130
If intZeile1 = 3 Then .Height = 155
If intZeile1 = 4 Then .Height = 177
If intZeile1 = 5 Then .Height = 202
If intZeile1 = 6 Then .Height = 225
.repaint
End With
mfg Jan
AW: Grösse der UserForm reagiert träge
25.02.2007 16:08:18
Gregor
Hallo Jan
Danke für deinen Vorschlag.
Ich habe diesen in meinem Makro umgesezt. Leider beinhalten die UserForm mit diesem "With-repaint-Zusatz" noch Angaben von der vorherigen Abfrage, was natürlich nicht korrekt ist.
Wie nur kann ich das lösen?
Danke und Gruss
Gregor
Anzeige
AW: Grösse der UserForm reagiert träge
25.02.2007 17:30:37
Jan
Hi,
poste halt den gesamten Code.
mfg Jan
AW: Grösse der UserForm reagiert träge
25.02.2007 17:44:31
Gregor
Hallo Jan
Hier mein Code:
Private Sub UserForm_Activate()
Spalte_Gleis = Worksheets("Master Datei").Rows(1).Find("Gleis", LookAt:=xlWhole).Column
'--- setzt die Courserposition an den Anfang
Cells(ActiveCell.Row, 1).Select
If ActiveCell <> "" Then Name = ActiveCell
AnzZeilen = 1
If ActiveCell = "" Then
'--- Zeile der nächst beschriebenen Zelle
Zeile = ActiveCell.End(xlUp).Row
Name = Cells(Zeile, 1)
Gleis = Cells(Zeile, Spalte_Gleis).Value
AnzZeilen = ActiveCell.End(xlDown).Row
AnzZeilen = AnzZeilen - Zeile
End If
Zehner = 10
'---Controls füllen max. bis Zähler = 4
For intZeile = 0 To AnzZeilen - 1
Zähler = 0
For intSpalte = 38 To 52 Step 2  ' Spalten AL:AZ in 2er-Schritten
If Cells(Zeile + intZeile, intSpalte) > 0 Then
Zähler = Zähler + 1
Me.Controls("txtGleis" & Zähler + intZeile) = "Gleis " & Cells(Zeile + intZeile, Spalte_Gleis) & "  Nutzlänge " & Cells(Zeile + intZeile, Spalte_Nutzlänge) & " Meter"
Me.Controls("txtP" & Zehner & Zähler) = Cells(1, intSpalte)
Me.Controls("txtL" & Zehner & Zähler) = Cells(Zeile + intZeile, intSpalte)
'         Me.Controls("txtL" & Zähler) = Format(Cells(Zeile, intSp), "0.00")   'mit Format
Me.Controls("txtI" & Zehner & Zähler) = Cells(Zeile + intZeile, intSpalte + 1)
Me.Controls("lbl" & Zähler) = "Höhe   Länge  Index"
Zähler1 = Zähler
If Zähler >= 4 Then Exit For
End If
Next intSpalte
'---falls Zähler < 4, restliche Controls leeren
For intSpalte = Zähler + 1 To 4
Me.Controls("txtP" & Zehner & intSpalte) = ""
Me.Controls("txtL" & Zehner & intSpalte) = ""
Me.Controls("txtI" & Zehner & intSpalte) = ""
Me.Controls("lbl" & intSpalte) = ""
Next intSpalte
Zehner = Zehner + 10
If intZeile >= 18 Then Exit For
Next intZeile
'With Me
If Zähler1 = 1 Then usrPerronhöhen.Width = 275
If Zähler1 = 2 Then usrPerronhöhen.Width = 381
If Zähler1 = 3 Then usrPerronhöhen.Width = 489
If Zähler1 = 4 Then usrPerronhöhen.Width = 597
'    .Repaint
'End With
intZeile1 = intZeile
'---falls intZeile < 7, restliche Controls leeren
For intZeile = intZeile To 6
Zähler = 1
Me.Controls("txtGleis" & Zähler + intZeile) = ""
Me.Controls("txtP" & Zehner & Zähler) = ""
Me.Controls("txtL" & Zehner & Zähler) = ""
Me.Controls("txtI" & Zehner & Zähler) = ""
Zehner = Zehner + 10
Zähler = Zähler + 1
Next intZeile
Me.txtTitel.Value = Name
'With Me
If intZeile1 = 1 Then usrPerronhöhen.Height = 106
If intZeile1 = 2 Then usrPerronhöhen.Height = 130
If intZeile1 = 3 Then usrPerronhöhen.Height = 155
If intZeile1 = 4 Then usrPerronhöhen.Height = 177
If intZeile1 = 5 Then usrPerronhöhen.Height = 202
If intZeile1 = 6 Then usrPerronhöhen.Height = 225
If intZeile1 = 7 Then usrPerronhöhen.Height = 250
If intZeile1 = 8 Then usrPerronhöhen.Height = 275
If intZeile1 = 9 Then usrPerronhöhen.Height = 298
If intZeile1 = 10 Then usrPerronhöhen.Height = 321
If intZeile1 = 11 Then usrPerronhöhen.Height = 345
If intZeile1 = 12 Then usrPerronhöhen.Height = 369
If intZeile1 = 13 Then usrPerronhöhen.Height = 392
If intZeile1 = 14 Then usrPerronhöhen.Height = 417
If intZeile1 = 15 Then usrPerronhöhen.Height = 441
If intZeile1 = 16 Then usrPerronhöhen.Height = 465
If intZeile1 = 17 Then usrPerronhöhen.Height = 489
If intZeile1 = 18 Then usrPerronhöhen.Height = 513
'    .Repaint
'End With
End Sub

Gregor
Anzeige
AW: Grösse der UserForm reagiert träge
25.02.2007 23:22:00
Jan
Hi,
das ist ziemliches Chaos.
Schreib zuerst ganz oben Option Explicit und deklarier die Variablen.
Dann sehen wir weiter.
Ist usrPerronhöhen die Userform, in der der Code abläuft?
mfg Jan
AW: Grösse der UserForm reagiert träge
25.02.2007 23:22:18
Jan
Hi,
das ist ziemliches Chaos.
Schreib zuerst ganz oben Option Explicit und deklarier die Variablen.
Dann sehen wir weiter.
Ist usrPerronhöhen die Userform, in der der Code abläuft?
mfg Jan
AW: Grösse der UserForm reagiert träge
26.02.2007 11:31:00
Gregor
Hallo Jan
Ich weiss, der Code ist nicht einfach überblickbar. Ich löse das Problem mit einem Scroll-Balken, dann muss ich die Grösse nicht verändern.
Herzlichen Dank für deine Unterstützung.
Gruss Gregor
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige