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

AddItem Problem

AddItem Problem
05.07.2004 07:58:44
Rainer
Guten Morgen liebe Helfer !
Mit nachfolgendem Code (eigentlich nur die unteren 10 Zeilen) möchte ich bei jedem Click auf den Button cmdEingabe die Werte der Spalten A bis E der letzten Zeile aus dem Sheet "Umsatz" in ein Listenfeld in einer Userform übertragen. So wie der Code im Moment ist überschreibt er mir aber jedesmal den vorherigen Eintrag. Irgendwo müßte da ein AddItem untergebracht werden. Wenn ich eingebe:
.AddItem.RowSource = "Umsatz!A" & i & ":E" & i
dann meckert er mich zwar nicht an und fügt auch jeweils einen Eintrag dem Listenfeld hinzu schreibt aber nur eine 0 hinein.

Private Sub cmdEingabe_Click()
Dim i As Integer
'Hilfszähler zur Ermittlung der Zeile in Tabelle Umsatz
Sheets("Kennzahlen").Activate
Set ZelleGleich = ActiveSheet.Cells(Text1 + 1, 1)
'Zelle mit eingegebener Kennzahl anspringen
Artikel = ZelleGleich.Offset(0, 1)
Menge = ZelleGleich.Offset(0, 2)
E_Preis = ZelleGleich.Offset(0, 3)
Sheets("Umsatz").Activate
Set ZelleLeer = ActiveSheet.Cells(1, 1)
i = 1
Do
i = i + 1
'Hilfszähler erhöhen
Set ZelleLeer = ZelleLeer.Offset(1, 0)
Loop Until IsEmpty(ZelleLeer)
'Erste leere Zelle in Spalte A finden
ZelleLeer.Select
ArtNr = Text1
Anzahl = Text2
ZelleLeer = ArtNr
'Werte in Sheet Umsatz eintragen
ZelleLeer.Offset(0, 1) = Artikel
'Werte in Sheet Umsatz eintragen
ZelleLeer.Offset(0, 2) = Text2
'Werte in Sheet Umsatz eintragen
ZelleLeer.Offset(0, 3) = E_Preis
'Werte in Sheet Umsatz eintragen
ZelleLeer.Offset(0, 4) = Text2 * E_Preis
'Werte in Sheet Umsatz eintragen
ZelleLeer.Offset(0, 6) = Date & " , " & Time
'Werte in Sheet Umsatz eintragen
With lstEingabe
.ColumnCount = 5
'Listenfeld in 5 Spalten aufteilen
.ColumnHeads = False
'Keine Überschriften im Listenfeld
.RowSource = "Umsatz!A" & i & ":E" & i
'Werte aus den Spalten A bis E der Zeile i
.ColumnWidths = "2cm;7cm;2cm;2cm;2cm"
End With
End Sub

Kann mir da bitte mal jemand auf die Sprünge helfen ?
Wenn ich nicht sofort antworte, liegt es daran das ich zwischendurch öfters nicht in der Nähe des Rechners bin.
Gruß aus Mainhatten
Rainer

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AddItem Problem
Ramses
Hallo
Das geht grundsätzlich nicht.
Du füllst die Listbox mit der RowSource-Methode, da können keine anderen Daten mehr angehängt werden, Du kannst höchstens die RowSosurce nochmal komplett neu definieren
.RowSource = "Umsatz!A1:E" & i
oder die Listbox von Anfang mit der AddItem - Methode füllen, dann kannst du mit AddItem die Daten nochmals anhängen, oder sogar einzelne daraus wieder löschen.
Die AddItem Methode ist in der OLH sehr gut erklärt.
Gruss Rainer
AW: AddItem Problem
05.07.2004 08:28:12
Rainer
Hallo Namensvetter !
Vielen Dank für Deine Erklärung.
Mir ist nur nicht klar wie ich mit AddItem 5 Werte in eine Zeile der Listbox bekomme.
Ich werde mir das mal in der OLH anschauen. Leider habe ich nicht wirklich Ahnung von VBA. Wenn Jemand eine Idee hat wie man das löst wäre ich schon sehr dankbar.
Gruß aus Mainhatten
Rainer
Anzeige
AW: AddItem Problem
Ramses
Hallo
hier mal ein Beispiel wie so was gemacht wird.
Voraussetzung:
Eine UF mit einer Listbox die den Namen "Listbox1" hat.
Option Explicit

Private Sub CommandButton1_Click()
Dim i
Me.ListBox1.ColumnCount = 1
Me.ListBox1.Clear
For i = 1 To 10
'Neuen Eintrag eröffnen
Me.ListBox1.AddItem i
'Zu diesem Eintrag in Spalte 1 einen Eintrag hinzufügen
Me.ListBox1.List(i - 1, 1) = i & i
Next i
MsgBox "Einfache Zahlen generiert"
'Zum einlesen eines Tabellenbereiches A:C
Me.ListBox1.Clear
'Spalten definieren
Me.ListBox1.ColumnCount = 3
Me.ListBox1.ColumnWidths = "30;30;30"
For i = 1 To Range("A65536").End(xlUp).Row
'1. Spalte
Me.ListBox1.AddItem Cells(i, 1).Value
'2. Spalte
Me.ListBox1.List(i - 1, 1) = Cells(i, 2).Value
'3. Spalte
Me.ListBox1.List(i - 1, 2) = Cells(i, 3).Value
'usw
Next i
End Sub

Gruss Rainer
Anzeige
AW: AddItem Problem
05.07.2004 20:34:01
Rainer
Hi Rainer,
vielen Dank für Dein Beispiel,
ich werde es mal ausprobierien, sollte es funktionieren, werde ich die Lösung ins Forum stellen.
Gruß aus Mainhatten
Rainer

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige