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

ListBox erkennt den ersten Eintrag nicht, ???

ListBox erkennt den ersten Eintrag nicht, ?
29.01.2005 23:14:00
Drazen
Hallo,
meine ListBox wird wie folgt gefüllt:

Private Sub UserForm_Initialize()
Dim l As Long, c As Range
Set c = ActiveSheet.Cells(Rows.Count, 1)
l = c.Row: If IsEmpty(c) Then l = c.End(xlUp).Row
lstProdukt.RowSource = "A2:I" & l
End Sub

Mit folgendem Code lass ich mir die Daten in Labels und TextBoxen anzeigen:

Private Sub lstProdukt_Change()
If lstProdukt.ListIndex <> 0 Then
lblArtikel = Cells(lstProdukt.ListIndex + 2, 1)
lblBeschreibung = Cells(lstProdukt.ListIndex + 2, 2)
lblCuZahl = Cells(lstProdukt.ListIndex + 2, 3)
lbl€ = Cells(lstProdukt.ListIndex + 2, 4)
lblZuschlag = Cells(lstProdukt.ListIndex + 2, 5)
lblRechnungspreis = Cells(lstProdukt.ListIndex + 2, 6)
txtArtikel = Cells(lstProdukt.ListIndex + 2, 7)
txtBasisPreis = Cells(lstProdukt.ListIndex + 2, 8)
txtProduktFaktor = Cells(lstProdukt.ListIndex + 2, 9)
End If
End Sub

So weit klappt das auch prima, nur wenn ich den ersten Eintrag anklicke passiert gar nichts als ob der gar nicht da wäre, wenn ich ListIndex + 1 setze zeigt er mir die Daten um eins versetzt, also mit +2 klappt es für alle ausser den ersten Eintrag. Wer kann mir helfen?
Grüsse
Drazen

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox erkennt den ersten Eintrag nicht, ?
Ramses
Hallo
der Erste ausgewählte Eintrag in der Listbox hat den Wert 0 !!!!
Die Zählung beginnt nicht bei 1 sondern 0.
Damit sollte deine Frage geklärt sein :-)
Gruss Rainer
AW: ListBox erkennt den ersten Eintrag nicht, ?
29.01.2005 23:31:36
Drazen
Hallo,
eigentlich ja, mein Problem liegt darin, dass ich die Spaltenübeschriften als ListBox Überschriften übernehmen will und krieg das nicht hin...
Grüsse
Drazen
AW: ListBox erkennt den ersten Eintrag nicht, ?
Ramses
Hallo
warum fragst du dann nicht nach
If Me.Listbox.Listindex &gt 0
Gruss Rainer
AW: ListBox erkennt den ersten Eintrag nicht, ?
30.01.2005 00:32:12
Drazen
Hallo Rainer
mach ich doch;

Private Sub lstProdukt_Change()
If lstProdukt.ListIndex <> 0 Then
lblArtikel = Cells(lstProdukt.ListIndex + 2, 1)
lblBeschreibung = Cells(lstProdukt.ListIndex + 2, 2)
lblCuZahl = Cells(lstProdukt.ListIndex + 2, 3)
lbl€ = Cells(lstProdukt.ListIndex + 2, 4)
lblZuschlag = Cells(lstProdukt.ListIndex + 2, 5)
lblRechnungspreis = Cells(lstProdukt.ListIndex + 2, 6)
txtArtikel = Cells(lstProdukt.ListIndex + 2, 7)
txtBasisPreis = Cells(lstProdukt.ListIndex + 2, 8)
txtProduktFaktor = Cells(lstProdukt.ListIndex + 2, 9)
End If
End Sub

RowSource ist auf A2:I gesetzt, in der Zeile A befinden sich natürlich die Überschriften die ich in die ListBox nehmen will also ist demnach der erste Eintrag in der ListBox die Zelle A2 oder? Die wird auch angezeigt aber ich kann Sie nicht auswählen erst ab Zelle A3 geht alles normal, wieso?
Gruss
Drazen
Anzeige
AW: ListBox erkennt den ersten Eintrag nicht, ?
Ramses
Hallo
Tut mir leid, ich verstehe deine Antwort nicht.
"...RowSource ist auf A2:I gesetzt, .." ?
Auf welchen Zellbereich genau ?
"... in der Zeile A befinden sich natürlich die Überschriften..."
In der Zeile A ?
"...Die wird auch angezeigt aber ich kann Sie nicht auswählen..."
Hast du die Eigenschaft der Listbox "ColumnHeads" auf True gesetzt ?
Gruss Rainer
AW: ListBox erkennt den ersten Eintrag nicht, ?
30.01.2005 01:01:56
Drazen
Hallo Rainer,
ja den RowSource hab ich als "A2:I" gesetzt wie Du hieraus siehst...

Private Sub UserForm_Initialize()
Dim l As Long, c As Range
Set c = ActiveSheet.Cells(Rows.Count, 1)
l = c.Row: If IsEmpty(c) Then l = c.End(xlUp).Row
lstProdukt.RowSource = "A2:I" & l
End Sub

Ist das nich richtig so?
Zu 2. natürlich ein Lapsus, sollte heissen Zeile 1...
Zu 3. ja ich sehe den Eintrag aus der Tabelle aber wenn ich Ihn anklicke bekomme ich nichts in meine TextBoxen gefüllt, das ganze spielt sich in einer UF ab. Beim anklicken des zweiten oder allen weiteren Einträgen werden die TextBoxen richtig gefüllt. Ich bin in VBA immer noch Anfänger und danke Dir hiermit für Deine Geduld...
Grüsse
Drazen
Anzeige
AW: ListBox erkennt den ersten Eintrag nicht, ?
Ramses
Hallo
Tut mir leid, ich kapiers nicht.
Kannst du mal ein Beispiel hochladen '
Gruss Rainer
AW: ListBox erkennt den ersten Eintrag nicht, ?
30.01.2005 12:29:46
Drazen
https://www.herber.de/bbs/user/17144.xls
Hallo Rainer,
haste Recht hätte ich vieleicht gleich hochladen sollen, sieh dir das bitte an, ich hab schon an allen Rädchen gedreht und bekomms nicht hin...
Grüsse
Drazen
AW: ListBox erkennt den ersten Eintrag nicht, ?
Ramses
Hallo
Ganz einfache Logik, danach habe ich dich aber gefragt :-)
Die Zeile muss heissen
If Me.lstProdukt.ListIndex &gt= 0 Then
Wichtig ist hierbei "=", weil sonst der 1. Eintrag mit dem Index 0 nicht abgearbeitet wird weil er nicht "&gt0" ist !!!.
Gruss Rainer
Anzeige
AW: ListBox erkennt den ersten Eintrag nicht, ?
30.01.2005 14:35:02
Drazen
https://www.herber.de/bbs/user/17150.xls
Hallo,
JA DAS IST ES!!! Du hattest Recht, meine Logik lag etwas falsch, jetzt funzt es, vielen Dank.
Ich hab die Mappe entsprechend geändert und nochmal hochgeladen, könntest Du dir ansehen warum ich die TextBoxen "Produktfaktor" und "Basis Preis" nicht in die Tabelle übertragen kann? Mit ArtikelNummer gehts, vieleicht weil diese zwei Spalten in anderen Spalten in Formeln verwendet werden? Muss ich die txtBoxen deshalb irgendwie anders an die Tabelle übergeben?
Grüsse
Drazen
Anzeige
Interaktion mit Listbox
Ramses
Hallo
da hast du ein Problem :-)
Du weist der Listbox einen Range zur Anzeige zu !!!, während die UF angezeigt wird, löst JEDER Eintrag in diesem Range ein Click-Ereignis aus, weil die Listbox wieder neu eingelesen wird !!
Sobald du auf "Eintrag" klickst, wird die Artikelnummer eingetragen,.... und dann kracht's :-) und das Click-Ereignis wird ausgelöst. D.h. dein Makro kommt NIE dazu, etwas anderes einzutragen ausser der Artikelnummer.
Einziger Workkaround:
1. Einlesen aller Artikel per Code
oder
2. Anzeigen nur der ersten beiden Spalten (Range-Zuweisung nur auf A und B) und dann bei Auswahl eines Eintrages, den Rest der Zeile direkt aus der Tabelle einlesen
Gruss Rainer
Anzeige
AW: Interaktion mit Listbox
30.01.2005 23:23:51
Drazen
Hallo Rainer,
genau das passiert andauernd, die Artikelnummer wird eingetragen und peng aus ist es. Wie gesagt ich bin immer noch Anfänger in Sachen VBA, wie kann ich alle Artikel der ActiveSheet einlesen per Code?
Grüsse
Drazen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige