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

Listbox verliert Werte?!

Listbox verliert Werte?!
27.09.2006 18:53:27
Wetzel
Hallo Leute,
meine Listbox enthält Werte, die sie nach dem Schließen und wieder Öffnen der Datei (natürlich vorher Speichern) nicht mehr hat.
Gibt es eine Möglichkeit das zu verhindern, oder gibt es eine elegantere Möglichkeit?
Zu den Details:
Ich habe eine Combobox (Dropdown) aus der man verschiedene Werte auswählen kann.
Diese werden durch einen Command Button in die Listbox eingetragen.
Ich hoffe ihr könnt mir weiterhelfen und postet eine detaillierte Lösung (kenne mich mit den Listboxen nicht wirklich aus).
Ciao Wetzel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox verliert Werte?!
27.09.2006 19:09:58
Harry
Hi,
das ist so, wenn sie ungebunden befüllt wird, also Additem, List, Column.
Wenn du Rowsource/Listfillrange verwendest, bleiben die Werte erhalten.
mfg Harry
AW: Listbox verliert Werte?!
27.09.2006 23:04:18
Rudi
Hallo,
hab ich dir doch schon beantwortet.
Wenn dine Workbook_open zu viel Zeit frisst, poste sie doch mal. Mal sehen, was sich machen lässt.
Gruß
Rudi
AW: Listbox verliert Werte?!
28.09.2006 10:51:10
Wetzel
Erstmal vielen Dank für eure Hilfe.
Ich werde statt Additem mal Rowsource/Listfillrange ausprobieren.
@Rudi: Ich kann die Dinger nicht über Workbook open beim Start befüllen, da der Benutzer über eine Combobox und einen Button die Listbox frei nach Belieben füllt.
Ich sag dann Bescheid ob es geklappt hat.
Grüße Stephan
Anzeige
AW: Listbox verliert Werte?!
28.09.2006 11:07:45
Wetzel
Hi nochmal,
ich werde jetzt doch mal den Sourcecode posten:
geg:
Combobox1 (ist mit ner Datenbank verknüpft und enthält eine Liste von Werten
CommandButton1 (Add-Button -> fügt den Wert der Combobox nach Knopfdruck in die Listbox)

Private Sub CommandButton1_Click()
Dim EntryCount As Single
EntryCount = EntryCount + 1
ListBox1.AddItem (ComboBox1.Value)
End Sub

CommandButton2 (Remove-Button -> löscht den ausgewählten/letzten Wert aus der Liste)

Private Sub CommandButton2_Click()
'Ensure ListBox contains list items
If ListBox1.ListCount >= 1 Then
'If no selection, choose last list item.
If ListBox1.ListIndex = -1 Then
ListBox1.ListIndex = _
ListBox1.ListCount - 1
End If
ListBox1.RemoveItem (ListBox1.ListIndex)
End If
End Sub

Listbox1 (zeigt die Werte an, speichert sie aber leider nicht)
Ich hoffe, dass ich es einigermaßen genau beschrieben habe.
Grüße Wetzel
Anzeige
AW: Listbox verliert Werte?!
28.09.2006 14:06:02
Rudi
Hallo,
schreib doch den Inhalt per Before_Close-Prozedur in eine (versteckte) Tabelle und lies diese per Workbook_open wieder aus.
Gruß
Rudi
AW: Listbox verliert Werte?!
28.09.2006 15:47:03
Wetzel
kannst du mir das an einem Beispiel verdeutlichen?
Danke schonmal
AW: Listbox verliert Werte?!
28.09.2006 16:30:29
Rudi
Hallo,
In DieseArbeitsmappe:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim vntArr
If Sheets(1).ListBox1.ListCount > 0 Then
vntArr = Sheets(1).ListBox1.List
With Sheets(2)
.Cells.ClearContents
.Range(.Cells(1, 1), .Cells(UBound(vntArr, 1), 2)) = vntArr
End With
ThisWorkbook.Save
End If
End Sub


Private Sub Workbook_Open()
Dim vntArr
vntArr = Sheets(2).UsedRange
Sheets(1).ListBox1.List = vntArr
End Sub
Gruß
Rudi
Anzeige
AW: Listbox verliert Werte?!
28.09.2006 17:25:49
Wetzel
Hi
bei mir funktioniert der Code nicht.
Als was muss ich vntArr dimensionieren?
Grüße S
Listbox funktioniert
28.09.2006 20:32:49
wetzel
Ok, danke nochmal für eure Hilfe.
Hab mal was geschrieben:

Sub einlesen()
'wird in dieseArbeitsmappe ausgeführt - Workbook open
Dim j, s As Integer
Dim Produkt As String
Dim zeile, Endzeile, spalte As Integer
'Listbox1
spalte = 2 'Spalte
zeile = 3
Endzeile = Sheets("Listen").Cells("65536" & spalte).End(xlUp).Row 'letzte Zeile der Spalte ermitteln
Sheets("Discount Calculation Sheet").ListBox1.Clear
For j = 0 To Endzeile - 3
Sheets("Discount Calculation Sheet").ListBox1.AddItem (Sheets("Listen").Cells(zeile, spalte).Value)  'einlesen
Produkt = Sheets("Discount Calculation Sheet").ListBox1.List(j)
zeile = zeile + 1
Next
End Sub


Sub auslesen()
'wird in dieseArbeitsmappe ausgeführt - Workbook beforeclose
Dim s, j, zeile, spalte As Integer
'Zeilen leer machen für neuen Input from da Input-Listboxen
Sheets("Listen").Range("B3:CC10000").Clear
'Startzeile & Spalte
zeile = 3
spalte = 2
'Listbox1
For j = 0 To Sheets("Discount Calculation Sheet").ListBox1.ListCount - 1
Sheets("Listen").Cells(zeile, spalte) = Sheets("Discount Calculation Sheet").ListBox1.List(j)
zeile = zeile + 1
Next
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige