Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
444to448
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
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme beim Listbox füllen

Probleme beim Listbox füllen
29.06.2004 13:21:48
Sven
Hallo,
ich habe folgendes Problem.
Ich habe eine Userform mit einer Liastbox. Diese möchte ich mit Werten füllen und die Userform dann anzeigen.
Der Code kläuft fehlerfrei durch, nur die Listbox bleibt leer, wenn die Userform angezeigt wird.
Wäre toll, wenn sich jemand mal den Code ansehen könnte.
Vielen Dank schonmal.
Gruß
Sven
Sub Test()
With frmtest
.Caption = APP_NAME
.Tag = "Test"
.Show
End With
End Sub
Option Explicit
Dim lngAktGroesseVorname As Long

Private Sub UserForm_Initialize()
'Fehlerverfolgung ausschalten
On Error Resume Next
With Me
'am rechten oberen Rand des Anwendungsfensters starten
.StartUpPosition = 0
.Left = Application.Width - .Width
.Top = 0
lngAktGroesseVorname = ActiveDocument.Bookmarks("Vorname").Range.Font.Size
'Listenfeld einrichten
With .lstAutoGroesse
'Zwei Spalten
.ColumnCount = 2
'Spaltenbreiten festlegen; erste Spalte unsichtbar
.ColumnWidths = "0;-1"
'Jeweils Größe in die zweite Spalte schreiben
.List(.ListCount - 1, 1) = "1"
.List(.ListCount - 1, 1) = "2"
.List(.ListCount - 1, 1) = "3"
.List(.ListCount - 1, 1) = "4"
.List(.ListCount - 1, 1) = "5"
.List(.ListCount - 1, 1) = "6"
.List(.ListCount - 1, 1) = "16"
'Listenfeld auf aktuellen Wert einstellen
.Value = lngAktGroesseVorname
End With
End With
End Sub


Private Sub cmdOK_Click()
'Bei Klick auf 'OK' Userform entladen
Unload Me
End Sub


Private Sub cmdCancel_Click()
'Userform entladen
Unload Me
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme beim Listbox füllen
Jürgen
Hallo Sven,
ich vermisse bei Deinem Code das "AddItem" um die Liste zu befüllen.
Gruß
Jürgen
AW: Probleme beim Listbox füllen
Sven
Hallo,
auch wenn ich .Additem davor setze klappt es nicht.
Gruß
Sven
AW: Probleme beim Listbox füllen
GerdZ
Hallo Sven,
Dein Code läuft nur scheinbar fehlerfrei.
Die Zeile "On Error Resume Next" bewirkt, daß beim Auftreten eines Fehlers, keine Fehlermeldung ausgegeben und das Programm einfach in der nächsten Zeile fortgesetzt wird.
Gruß
Gerd
AW: Probleme beim Listbox füllen
Sven
Hallo,
stimmt. ab .List... kommt eine Fehlermeldung, dass der Indes des Eigenschaftsfenster ungültig ist. laufzeitfehler 381.
Kann da jemand etwas mit anfangen?
Gruß
Sven
Anzeige
AW: Probleme beim Listbox füllen
GerdZ
Hallo Sven,
Listcount liefert die Anzahl der Listeneinträge. Bei einer leeren Liste ist die Anzahl der Einträge 0. Listcount-1 ergibt daher -1. Das erste Listenelement hat aber den Index 0. Eine mögliche Lösung wäre, vor jede .List-Zeile eine Zeile mit .AddItem zu schreiben.
Gruß
Gerd
AW: Probleme beim Listbox füllen
Sven
Hallo,
danke, das funktioniert. Kann man sowas auch noch eleganter lösen?
Immer .Additem davor ist nicht sehr schön programmiert oder?
Gruß
Sven
AW: Probleme beim Listbox füllen
GerdZ
Hallo Sven,
ich denke am elegantesten ist es, die Werte in einem Tabellenblatt abzulegen.
z.B. in die Zellen B1:B7 die Werte 1-6 und 16 eintragen und dann mit
.List = Worksheets("...").Range("A1:B7").Value
in die Listbox übertragen.
Gruß
Gerd
Anzeige
AW: Probleme beim Listbox füllen
Sven
Hallo,
vielen Dank. Das werde ich mal probieren.
Eine Frage hätte ich allerdings noch. Ich habe in einer Variablen eine Zahl abgelgt. Dies ist eine der Zahlen, die auch in der Listbox vorkommen. Nun möchte ich, dass in der Listbox die Zeile oder die Zahl markiert wird, in der die Zahl steht, die in der Variablen abgelegt ist.
Geht das.
Vielen Dank.
Gruß
Sven
AW: Probleme beim Listbox füllen
GerdZ
Hallo Sven,
ausgehend von Deiner Ursprungsfrage müßte das so funktionieren (wenn kein Multiselect):
Dim x As Integer
For x = 0 To .ListCount - 1
If .List(x, 1) = lngAktGroesseVorname Then
.ListIndex = x
Exit For
End If
Next x
Gruß
Gerd
Anzeige
Vielen Dank
Sven
Hallo,
vielen dank, werde es mal probieren.
Ich habe durch ein wenig Stöbern noch eine andere Lösung gefunden.
With .lstListbox
.Value = x
End With
Vielen Dank.
Gruß
Sven

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige