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

Excel hängt sich bei ListBox-Aufruf auf

Excel hängt sich bei ListBox-Aufruf auf
13.02.2023 15:30:04
KV
Hallo zusammen,
ich habe seit kurzer Zeit ein merkwürdiges Problem mit einer VBA-ListBox.
Sobald ich im Editor meinen Code testen will, reagiert Excel nicht mehr. Ich kann es nur noch
gewaltsam beenden. Mittels auskommentieren konnte ich das Problem eingrenzen, es will mir aber
nicht in den Kopf, warum Excel sich aufhängt. Ich fülle eine ListBox mit Werten, das Ganze mache ich
auch in anderen Dateien und Forms in genau der selben Art und Weise, da gibt es keine Probleme.

With ListBox2 
         .Clear
         .ColumnCount = 10
         .ColumnWidths = _
            "3cm;3cm;1cm;2cm;3cm;9cm;4cm;2cm;5cm;2cm"
         For lZeile = 2 To lLetzte Step 1
            .AddItem " "
            .List(lLiBox, 0) = WkSh.Range("A" & lZeile).Value
            .List(lLiBox, 1) = WkSh.Range("S" & lZeile).Value
            .List(lLiBox, 2) = WkSh.Range("C" & lZeile).Value
            .List(lLiBox, 3) = WkSh.Range("L" & lZeile).Value
            .List(lLiBox, 4) = WkSh.Range("E" & lZeile).Value
            .List(lLiBox, 5) = WkSh.Range("D" & lZeile).Value
            .List(lLiBox, 6) = WkSh.Range("F" & lZeile).Value
            .List(lLiBox, 7) = WkSh.Range("R" & lZeile).Value 
            .List(lLiBox, 8) = WkSh.Range("T" & lZeile).Value
            .List(lLiBox, 9) = WkSh.Range("U" & lZeile).Value
            lLiBox = lLiBox + 1
         Next lZeile
      End With

lLetzte,Llibox und lZeile sind natürlich weiter vorne deklariert.
Wenn ich diesen Teil auskommentiere, läuft alles. Ich bin relativ ratlos und weiß nicht,
was ich noch probieren soll. Habe ihr eventuell eine Idee?
Vielen Dank für eure Mühe.

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

Betreff
Datum
Anwender
Anzeige
AW: Excel hängt sich bei ListBox-Aufruf auf
13.02.2023 15:46:27
GerdL
Moin KV,
packe mal eine Spalte weniger mit AddItem rein.
With ListBox2
         .Clear
         .ColumnCount = 10
         .ColumnWidths = _
            "3cm;3cm;1cm;2cm;3cm;9cm;4cm;2cm;5cm;2cm"
         For lZeile = 2 To lLetzte Step 1
            .AddItem WkSh.Range("A" & lZeile).Value
            .List(lLiBox, 1) = WkSh.Range("S" & lZeile).Value
            .List(lLiBox, 2) = WkSh.Range("C" & lZeile).Value
            .List(lLiBox, 3) = WkSh.Range("L" & lZeile).Value
            .List(lLiBox, 4) = WkSh.Range("E" & lZeile).Value
            .List(lLiBox, 5) = WkSh.Range("D" & lZeile).Value
            .List(lLiBox, 6) = WkSh.Range("F" & lZeile).Value
            .List(lLiBox, 7) = WkSh.Range("R" & lZeile).Value
            .List(lLiBox, 8) = WkSh.Range("T" & lZeile).Value
            .List(lLiBox, 9) = WkSh.Range("U" & lZeile).Value
            
            lLiBox = lLiBox + 1
         Next lZeile
End With
Gruß Gerd
Anzeige
AW: Excel hängt sich bei ListBox-Aufruf auf
13.02.2023 15:48:34
Rudi
Hallo,
mal ganz anders:
  Dim vntList(), vntColumns, iC As Integer
  vntColumns = Array(0, 1, 19, 3, 12, 5, 4, 6, 18, 20, 21)
  
  'Dein Code
  
  ReDim vntList(1 To lLetzte - 1, 1 To 10)
  For lZeile = 2 To lLetzte
    For iC = 1 To UBound(vntColumns)
      vntList(lZeile - 1, iC) = wkSh.Cells(lZeile, vntColumns(iC))
    Next iC
  Next lZeile
  
  With ListBox2
    .Clear
    .ColumnCount = 10
    .ColumnWidths = _
      "3cm;3cm;1cm;2cm;3cm;9cm;4cm;2cm;5cm;2cm"
    .List = vntList
  End With
Gruß
Rudi
AW: Excel hängt sich bei ListBox-Aufruf auf
13.02.2023 17:50:49
snb
Zum befullen braucht man nur ein Einszeiler:
Sub M_snb()
  ListBox2.List = Application.Index(ActiveSheet.UsedRange.CurrentRegion, [row(2:1000], Array(1, 19, 3, 13, 5, 4, 6, 18, 20, 21))
End Sub
Die Listbox Eigenschaften
' .ColumnCount = 10
' .ColumnWidths = "3cm;3cm;1cm;2cm;3cm;9cm;4cm;2cm;5cm;2cm"

sollte man im Design Mode einführen.
'
Anzeige
sehr geil
13.02.2023 19:28:48
Rudi
Hallo,
kannte ich so noch nicht.
Bei row fehlt eine ).
[row(2:1000)]
Gruß
Rudi
@snb
15.02.2023 01:53:11
ralf_b
wie bekomme ich den row Ausdruck dynamisiert? [row(2:1000)]
in Falle von unbekannter Zeilenanzahl.
AW: @snb
15.02.2023 13:06:42
Rudi
Hallo,
so geht das:
Private Sub UserForm_Activate()
  Dim r As Long
  With ActiveSheet.UsedRange.CurrentRegion
    r = .Rows.Count
    ListBox1.List = Application.Index(.Value, Evaluate("ROW(2:" & r & ")"), Array(1, 19, 3, 13, 5, 4, 6, 18, 20, 21))
  End With
End Sub
Gruß
Rudi
AW: @Rudi
15.02.2023 17:36:21
ralf_b
besten Dank,
ich habe ne halbe Ewigkeit versucht das auf die Reihe zu bekommen unter Anderem auch mit Evaluate und dieser Textverkettung. Aber es hat einfach nicht funktioniert.

Anzeige

112 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige