Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1580to1584
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 Inzialisieren

Userform Inzialisieren
25.09.2017 17:07:14
stef26
Hallo Zusammen,
ich hab da mal eine Frage. Ich habe mir ein Userfrom mit ca. 30 TextBoxen gebaut.
Wenn ich die Userform initialisieren möchte so dauert dies über 50 Sekunden, obwohl ich versucht habe die "Makrobremsen" rauszumachen.
Ist das normal, dass dies so lange dauert? Kann man da gar nichts machen?
Ich würde nur ungern das ganze Projekt deswegen in die Tonne treten...
Private Sub UserForm_Initialize()
Image1.Picture = LoadPicture(ShowRange2(Sheets("Clusterplan").Range("A20:W75"))) 'Diagramm   _
_
Clusterplanzeiten
Tagesproduktivität.Picture = LoadPicture(ShowRange2(Sheets("Diagramm").Range("A25:F45"))) '  _
_
Diagramm
Image2.Picture = LoadPicture(ShowRange2(Sheets("Clusterplan").Range("K1:T1"))) 'Auswertung
DoEvents
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.EnableEvents = False
'Rüstbereich
'Cluster
Cluster1.Value = Sheets("Clusterplan").Range("A6")
Cluster2.Value = Sheets("Clusterplan").Range("A7")
Cluster3.Value = Sheets("Clusterplan").Range("A8")
Cluster4.Value = Sheets("Clusterplan").Range("A9")
Cluster5.Value = Sheets("Clusterplan").Range("A10")
Cluster6.Value = Sheets("Clusterplan").Range("A11")
Cluster7.Value = Sheets("Clusterplan").Range("A12")
Cluster8.Value = Sheets("Clusterplan").Range("A13")
Cluster9.Value = Sheets("Clusterplan").Range("A14")
Cluster10.Value = Sheets("Clusterplan").Range("A15")
'Rüstplätze
With Me.RP1
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP1.Value = Sheets("Clusterplan").Range("B6")
With Me.RP2
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP2.Value = Sheets("Clusterplan").Range("B7")
With Me.RP3
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP3.Value = Sheets("Clusterplan").Range("B8")
With Me.RP4
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP4.Value = Sheets("Clusterplan").Range("B9")
With Me.RP5
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP5.Value = Sheets("Clusterplan").Range("B10")
With Me.RP6
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP6.Value = Sheets("Clusterplan").Range("B11")
With Me.RP7
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP7.Value = Sheets("Clusterplan").Range("B12")
With Me.RP8
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP8.Value = Sheets("Clusterplan").Range("B13")
With Me.RP9
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP9.Value = Sheets("Clusterplan").Range("B14")
With Me.RP10
.AddItem "1"
.AddItem "2"
.AddItem "3"
End With
Me.RP10.Value = Sheets("Clusterplan").Range("B15")
'Rüstpositionen
RPO1.Value = Sheets("Clusterplan").Range("E6")
RPO2.Value = Sheets("Clusterplan").Range("E7")
RPO3.Value = Sheets("Clusterplan").Range("E8")
RPO4.Value = Sheets("Clusterplan").Range("E9")
RPO5.Value = Sheets("Clusterplan").Range("E10")
RPO6.Value = Sheets("Clusterplan").Range("E11")
RPO7.Value = Sheets("Clusterplan").Range("E12")
RPO8.Value = Sheets("Clusterplan").Range("E13")
RPO9.Value = Sheets("Clusterplan").Range("E14")
RPO10.Value = Sheets("Clusterplan").Range("E15")
'Fertige Rüstungen
TischeR1.Value = Sheets("Clusterplan").Range("C6")
TischeR2.Value = Sheets("Clusterplan").Range("C7")
'Linienbereich
'Cluster Linie1
L1C1.Value = Sheets("Clusterplan").Range("M4")
L1C2.Value = Sheets("Clusterplan").Range("M5")
L1C3.Value = Sheets("Clusterplan").Range("M6")
L1C4.Value = Sheets("Clusterplan").Range("M7")
L1C5.Value = Sheets("Clusterplan").Range("M8")
L1C6.Value = Sheets("Clusterplan").Range("M9")
'Cluster Linie1
L1RLZ1.Value = Sheets("Clusterplan").Range("O4").Text
If Left(Sheets("Clusterplan").Range("M5"), 3) = "Fes" Then
L1RLZ2.Value = Sheets("Clusterplan").Range("P5").Text
Else
L1RLZ2.Visible = False
End If
If Left(Sheets("Clusterplan").Range("M6"), 3) = "Fes" Then
L1RLZ3.Value = Sheets("Clusterplan").Range("P6").Text
Else
L1RLZ3.Visible = False
End If
If Left(Sheets("Clusterplan").Range("M7"), 3) = "Fes" Then
L1RLZ4.Value = Sheets("Clusterplan").Range("P7").Text
Else
L1RLZ4.Visible = False
End If
If Left(Sheets("Clusterplan").Range("M8"), 3) = "Fes" Then
L1RLZ5.Value = Sheets("Clusterplan").Range("P8").Text
Else
L1RLZ5.Visible = False
End If
If Left(Sheets("Clusterplan").Range("M9"), 3) = "Fes" Then
L1RLZ6.Value = Sheets("Clusterplan").Range("P9").Text
Else
L1RLZ6.Visible = False
End If
'Erstlose
With Me.L1EL1
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L1EL1.Value = Sheets("Clusterplan").Range("X4")
With Me.L1EL2
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L1EL2.Value = Sheets("Clusterplan").Range("X5")
With Me.L1EL3
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L1EL3.Value = Sheets("Clusterplan").Range("X6")
With Me.L1EL4
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L1EL4.Value = Sheets("Clusterplan").Range("X7")
With Me.L1EL5
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L1EL5.Value = Sheets("Clusterplan").Range("X8")
With Me.L1EL6
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L1EL6.Value = Sheets("Clusterplan").Range("X9")
'Wartezeit
With Me.L1W1
.RowSource = "Setup!A17:A20"
End With
Me.L1W1.Value = Sheets("Clusterplan").Range("Z4")
With Me.L1W2
.RowSource = "Setup!A17:A20"
End With
Me.L1W2.Value = Sheets("Clusterplan").Range("Z5")
With Me.L1W3
.RowSource = "Setup!A17:A20"
End With
Me.L1W3.Value = Sheets("Clusterplan").Range("Z6")
With Me.L1W4
.RowSource = "Setup!A17:A20"
End With
Me.L1W4.Value = Sheets("Clusterplan").Range("Z7")
With Me.L1W5
.RowSource = "Setup!A17:A20"
End With
Me.L1W5.Value = Sheets("Clusterplan").Range("Z8")
With Me.L1W6
.RowSource = "Setup!A17:A20"
End With
Me.L1W6.Value = Sheets("Clusterplan").Range("Z9")
'Wartung
Me.WartZ1.Caption = Sheets("Clusterplan").Range("Y4").Text
Me.WartZ2.Caption = Sheets("Clusterplan").Range("Y5").Text
Me.WartZ3.Caption = Sheets("Clusterplan").Range("Y6").Text
Me.WartZ4.Caption = Sheets("Clusterplan").Range("Y7").Text
Me.WartZ5.Caption = Sheets("Clusterplan").Range("Y8").Text
Me.WartZ6.Caption = Sheets("Clusterplan").Range("Y9").Text
'Cluster Linie2
L2C1.Value = Sheets("Clusterplan").Range("M10")
L2C2.Value = Sheets("Clusterplan").Range("M11")
L2C3.Value = Sheets("Clusterplan").Range("M12")
L2C4.Value = Sheets("Clusterplan").Range("M13")
L2C5.Value = Sheets("Clusterplan").Range("M14")
L2C6.Value = Sheets("Clusterplan").Range("M15")
'Cluster Linie2
L2RLZ1.Value = Sheets("Clusterplan").Range("O10").Text
'Einblenden nur wenn nicht "Fes"
If Left(Sheets("Clusterplan").Range("M11"), 3) = "Fes" Then
L2RLZ2.Value = Sheets("Clusterplan").Range("P11").Text
Else
L2RLZ2.Visible = False
End If
If Left(Sheets("Clusterplan").Range("M12"), 3) = "Fes" Then
L2RLZ3.Value = Sheets("Clusterplan").Range("P12").Text
Else
L2RLZ3.Visible = False
End If
If Left(Sheets("Clusterplan").Range("M13"), 3) = "Fes" Then
L2RLZ4.Value = Sheets("Clusterplan").Range("P13").Text
Else
L2RLZ4.Visible = False
End If
If Left(Sheets("Clusterplan").Range("M14"), 3) = "Fes" Then
L2RLZ5.Value = Sheets("Clusterplan").Range("P14").Text
Else
L2RLZ5.Visible = False
End If
If Left(Sheets("Clusterplan").Range("M15"), 3) = "Fes" Then
L2RLZ6.Value = Sheets("Clusterplan").Range("P15").Text
Else
L2RLZ6.Visible = False
End If
'Erstlose
With Me.L2EL1
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L2EL1.Value = Sheets("Clusterplan").Range("X10")
With Me.L2EL2
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L2EL2.Value = Sheets("Clusterplan").Range("X11")
With Me.L2EL3
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L2EL3.Value = Sheets("Clusterplan").Range("X12")
With Me.L2EL4
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L2EL4.Value = Sheets("Clusterplan").Range("X13")
With Me.L2EL5
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L2EL5.Value = Sheets("Clusterplan").Range("X14")
With Me.L2EL6
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With
Me.L2EL6.Value = Sheets("Clusterplan").Range("X15")
'Wartezeit
With Me.L2W1
.RowSource = "Setup!A17:A20"
End With
Me.L2W1.Value = Sheets("Clusterplan").Range("Z10")
With Me.L2W2
.RowSource = "Setup!A17:A20"
End With
Me.L2W2.Value = Sheets("Clusterplan").Range("Z11")
With Me.L2W3
.RowSource = "Setup!A17:A20"
End With
Me.L2W3.Value = Sheets("Clusterplan").Range("Z12")
With Me.L2W4
.RowSource = "Setup!A17:A20"
End With
Me.L2W4.Value = Sheets("Clusterplan").Range("Z13")
With Me.L2W5
.RowSource = "Setup!A17:A20"
End With
Me.L2W5.Value = Sheets("Clusterplan").Range("Z14")
With Me.L2W6
.RowSource = "Setup!A17:A20"
End With
Me.L2W6.Value = Sheets("Clusterplan").Range("Z15")
'Wartung
Me.WartZ7.Caption = Sheets("Clusterplan").Range("Y10").Text
Me.WartZ8.Caption = Sheets("Clusterplan").Range("Y11").Text
Me.WartZ9.Caption = Sheets("Clusterplan").Range("Y12").Text
Me.WartZ10.Caption = Sheets("Clusterplan").Range("Y13").Text
Me.WartZ11.Caption = Sheets("Clusterplan").Range("Y14").Text
Me.WartZ12.Caption = Sheets("Clusterplan").Range("Y15").Text
'Linie3
Me.L3Start1.Value = Sheets("Clusterplan").Range("S17").Text
Me.L3Start2.Value = Sheets("Clusterplan").Range("S18").Text
Me.L3Start3.Value = Sheets("Clusterplan").Range("S19").Text
L3C1.Value = Sheets("Clusterplan").Range("M17")
L3C2.Value = Sheets("Clusterplan").Range("M18")
L3C3.Value = Sheets("Clusterplan").Range("M19")
Me.L3RLZ1.Value = Sheets("Clusterplan").Range("P17").Text
Me.L3RLZ2.Value = Sheets("Clusterplan").Range("P18").Text
Me.L3RLZ3.Value = Sheets("Clusterplan").Range("P19").Text
DoEvents
Application.Calculation = xlCalculationAutomatic 'automat.Berechnung einschalten
Application.ScreenUpdating = True 'Bildschirmaktualisierung einschalten
Application.EnableEvents = True
End Sub
Gruß
Stefan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Inzialisieren
25.09.2017 18:17:10
onur
Wen du am Anfang
With Sheets("Clusterplan")
und am Ende
End With
schreiben würdest, könntest du geschätzte 1000 der "Sheets("Clusterplan").Range" (z.B.) sparen, dann bräuchtest du immer nur ".Range" zu schreiben.
Listboxen kann man viel schneller mit einem Array oder RowSource in einem Rutsch füllen, statt jedes Element einzeln mit AddItem.
Wenn du Textboxen mit fortlaufender Nummer mit fortlaufendem oder gleich bleibendem Inhalt füllen willst, geht es besser in einer Schleife.
Damit kämest Du schon mal auf max 10% deines Codeaufwandes - von der Geschwindigkeit mal ganz abgesehen.
Anzeige
AW: Userform Inzialisieren
25.09.2017 18:52:54
stef26
ok Danke
ich versuchs mal
Danke
Stefan
AW: Userform Inzialisieren
25.09.2017 22:55:02
Rudi
Hallo,
du solltest dich mit Schleifen und Arrays beschäftigen.
z.B. statt
          With Me.L2EL6
.AddItem "0"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "7"
.AddItem "8"
.AddItem "9"
End With

dürfte
Me.L2EL6.List=array(0,1,2,3,4,5,6,7,8,9)

erheblich schneller sein
Gruß
Rudi
AW: Userform Inzialisieren
25.09.2017 23:42:10
Daniel
Hi
Die ganzen RowSource-Zuweisungen kannst du ohne Code direkt in der Eigenschaftsliste machen.
Ebenso das Verknüpfen mit einer Ausgabezelle über die Eigenschaft "ControlSource"
Auch deine ganzen AddItems mit den Zahlen 1-3 und 1-10 kannst durch eine RowSource ersetzen, wenn du die Zahlenfolge irgendwo in einen freien Zellbereich schreibst.
Diesen Bereich kannst du auch für mehrere Listbox nutzen.
Gruß Daniel
Anzeige
AW: Userform Inzialisieren
25.09.2017 23:56:26
stef26
Hallo Daniel, hallo Rudi,
danke für eure Hinweise.
Einen Teil davon konnte ich umsetzen und den Code damit schon erheblich schneller machen.
Das mit den Array ist für mich noch zu schwierig. Werde mich aber wie du schon geschrieben hast damit befassen müssen.
Ein weiteres Problem war, das ich zusätzlich zur Initialisierung auf den TextBox ein Change Ereignis hatte was schlecht war, da er bei der Initialisierung auch dieses noch mit gemacht hat.
Hab dies durch Exit geändert.
Da die Daten fix sind könnte ich diese wirklich in das Eigenschaftsfeld packen.
Vielen Dank nochmal für eure Hinweise
LG
Stefan
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige