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

Wiederholungen im UserForm_Initialize vermeiden

Wiederholungen im UserForm_Initialize vermeiden
chandler
Hallo,
ich habe drei Dutzend Selectboxen die den gleichen Inhalt haben, siehe Beispiel:
With Me.cbo4
.Clear
.AddItem "N"
.AddItem "O"
.AddItem "S"
.AddItem "W"
End With
Wie kann ich die unzähligen Wiederholungen im UserForm_Initialize vermeiden, dadurch auch die Performance des Codes erhöhen?
Vorab vielen Dank. Grüße Chandler

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wiederholungen im UserForm_Initialize vermeiden
24.12.2011 15:21:50
Josef

Hallo Chandler,
erledige das Befüllen der Combos so.
Private Sub UserForm_Initialize()
  Dim strList(3) As String, intIndex As Integer
  
  strList(0) = "N"
  strList(1) = "O"
  strList(2) = "S"
  strList(3) = "W"
  
  For intIndex = 1 To 36
    Me.Controls("cbo" & intIndex).List = strList
  Next
  
End Sub



« Gruß Sepp »

Anzeige
AW: Wiederholungen im UserForm_Initialize vermeiden
24.12.2011 16:53:52
Hajo_Zi
ich würde ja das Activate Ereignis benutzen da UserForm_Initialize in einer Sitzung nur 1x ausgeführt wird.

Funktioniert einwandfrei. Danke
24.12.2011 20:22:46
chandler
Hallo Sepp,
Hallo Hajo_Zi,
is eine gute Idee, zumal funktioniert einwandfrei.
Vielen Dank, Grüße Chandler
Eine ergänzende Frage
25.12.2011 12:29:30
chandler
Hallo,
durch derart Schleifen kann mal ja viele Werderholungen vermeiden, somit
den Code übersichtlicher gestalten und die Performance des Codes erhöhen.
Habe bereits 20 Selectboxen die in gleicher Weise befühlt werden, siehe Beispiel:
With Worksheets("Tabelle1")
cboE1_G1.List = _
.Range(.Cells(10, 1), .Cells( _
.UsedRange.Rows.Count, 1)).Value
End With
Dabei werden die Selectboxen in 3 Gruppen je 5 eingeteilt. Und das macht mir Kopfweh.
1 Gruppe: cboE1_G1, cboE2_G1, cboE2_G1, cboE4_G1 und cboE5_G1
2 Gruppe: cboE1_G2, cboE2_G2, cboE2_G2, cboE4_G2 und cboE5_G2
3 Gruppe: cboE1_G3, cboE2_G3, cboE2_G3, cboE4_G3 und cboE5_G3
Wie könnte da, anlehnend an die vorige Schleife, das ausschauen?
Weiß jemand Rat und kann helfen? Vorab vielen Dank.
Grüße Chandler
Anzeige
vielleicht so
25.12.2011 13:23:56
Erich
Hi,
meinst du so?

Dim ii As Integer, jj As Integer
For ii = 1 To 5
For jj = 1 To 3
Me.Controls("cboE" & ii & "_G" & jj).List = _
.Range(.Cells(10, 1), .Cells(.UsedRange.Rows.Count, 1)).Value
Next jj
Next ii
Die Comboboxwn werden dabei alle aus dem selben Bereich befüllt.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Supper! Vielen Dank
25.12.2011 17:45:40
chandler
Hallo Erich,
vielen Dank, funktioniert einwandfrei.

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige