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

Listboxeinträge

Listboxeinträge
19.09.2006 16:57:03
Crissi
Hallo Spezialisten,
mit nachfolgendem Code lasse ich eine Listbox Daten einlesen.
Das Problem ist, dass sich die Einträge wenn ich den
CommandButton 3 öffters anclicke die Einträge
folrtlaufen wiederholt werden, das heisst sind in der Tabelle
"Kasse" 3 Einträge verzeichnet, sowerden diese 3 Einträge bei jedem
Click eingelesen

Private Sub CommandButton3_Click()
Dim Monat As String, Art As String
Monat = cboMonate.Text
Art = cboKasseBank.Text
frmEinnahme.lstKasse.Clear
If Monat = "Januar" And Art = "Kasse" Then
If Sheets("Kasse").Cells(5, 1) = "" Then GoTo Ende
iRowL = Sheets("Kasse").Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 5 To iRowL
If Not IsEmpty(Sheets("Kasse").Cells(iRow, 1)) Then
ReDim Preserve arr(0 To 10, 0 To IRowU)
arr(0, IRowU) = Sheets("Kasse").Cells(iRow, 1)
arr(0, IRowU) = Format(arr(0, IRowU), "d")
arr(1, IRowU) = Sheets("Kasse").Cells(iRow, 2)
arr(2, IRowU) = Sheets("Kasse").Cells(iRow, 3)
arr(3, IRowU) = Sheets("Kasse").Cells(iRow, 4)
arr(4, IRowU) = Sheets("Kasse").Cells(iRow, 5)
arr(5, IRowU) = Sheets("Kasse").Cells(iRow, 6)
arr(6, IRowU) = Sheets("Kasse").Cells(iRow, 7)
arr(7, IRowU) = Sheets("Kasse").Cells(iRow, 8)
arr(8, IRowU) = Sheets("Kasse").Cells(iRow, 9)
arr(9, IRowU) = Sheets("Kasse").Cells(iRow, 10)
arr(10, IRowU) = Sheets("Kasse").Cells(iRow, 11)
IRowU = IRowU + 1
End If
Next iRow
frmEinnahme.lstKasse.Column = arr
End If
Ende:
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listboxeinträge
19.09.2006 17:58:18
Gerd
Hallo Crissi,
kann eigentlich nicht sein, weil Du in Deinem Code ja
frmEinnahme.lstKasse.Clear
am Anfang voranstellst. Damit ist die Listbox wieder leer.
Schau Dir das ganze mal im DebugModus an dann kommst Du vielleicht dahinter ob alle Bezeichnungen stimmen.
Noch ein Hinweis zu Sprungmarken.
Anstatt Then Goto Ende solltes Du hier Then Exit Sub verwenden.
Sprungmarken sind in VBA nur zur Fehlerbehandlung gedacht, hab ich mal gehört
Gruß
Gerd
AW: Listboxeinträge
19.09.2006 18:11:02
crissi
Hallo Gerd,
danke für Deine rasche antwort, ich habe nur diesen Code bei der Userform verwendet und das ist eben das komische daran das die Listbox nicht geelert wird. Gibt es vielleicht eine andere Möglichkeit die listbox zu leeren?
Das mit dem goto ende ist ein guter Tip danke!
gruß
crissi
Anzeige
AW: Listboxeinträge
19.09.2006 18:36:34
crissi
Hier nochmal der gesamte Code, was ist nur falsch?
Option Explicit
Dim arr() As String
Dim iRowL As Integer, iRow As Integer, IRowU As Integer
Dim Monat As String
Dim Art As String

Private Sub CommandButton1_Click()
Dim Monat As String, Art As String
Monat = UserForm1.ComboBox1.Text
Art = UserForm1.ComboBox2.Text
UserForm1.ListBox1.Clear
If Monat = "Januar" And Art = "Kasse" Then
If Sheets("Kasse").Cells(5, 1) = "" Then Exit Sub
iRowL = Sheets("Kasse").Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 5 To iRowL
If Not IsEmpty(Sheets("Kasse").Cells(iRow, 1)) Then
ReDim Preserve arr(0 To 10, 0 To IRowU)
arr(0, IRowU) = Sheets("Kasse").Cells(iRow, 1)
arr(0, IRowU) = Format(arr(0, IRowU), "d")
arr(1, IRowU) = Sheets("Kasse").Cells(iRow, 2)
arr(2, IRowU) = Sheets("Kasse").Cells(iRow, 3)
arr(3, IRowU) = Sheets("Kasse").Cells(iRow, 4)
arr(4, IRowU) = Sheets("Kasse").Cells(iRow, 5)
arr(5, IRowU) = Sheets("Kasse").Cells(iRow, 6)
arr(6, IRowU) = Sheets("Kasse").Cells(iRow, 7)
arr(7, IRowU) = Sheets("Kasse").Cells(iRow, 8)
arr(8, IRowU) = Sheets("Kasse").Cells(iRow, 9)
arr(9, IRowU) = Sheets("Kasse").Cells(iRow, 10)
arr(10, IRowU) = Sheets("Kasse").Cells(iRow, 11)
IRowU = IRowU + 1
End If
Next iRow
UserForm1.ListBox1.Column = arr
End If
Ende:
End Sub


Private Sub UserForm_Initialize()
Dim intCounter As Integer
For intCounter = 1 To 12
UserForm1.ComboBox1.AddItem Format(DateSerial(1, intCounter, 1), "mmmm")
Next intCounter
UserForm1.ComboBox1.ListIndex = Month(Date) - 1
UserForm1.ComboBox2.AddItem "Kasse"
UserForm1.ComboBox2.AddItem "Bank"
End Sub

Anzeige
AW: Listboxeinträge
19.09.2006 19:36:58
Gerd
Hallo,
wahrscheinlich solltes Du die Variable arr() neu initialisieren und
zwar indem Du die Zeile
Dim arr() As String
direkt nach: Private Sub CommandButton1_Click()
einfügst.
Gruß
Gerd
AW: Listboxeinträge
20.09.2006 19:19:41
crissi
Danke Gerd, genau das war der Fehler

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige