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

Listbox Makro ändern

Listbox Makro ändern
10.12.2005 15:54:27
Max
Hallo,
wäre vielleicht jemand so nett mir die Stelle(n) im Makro zu beschreiben,
wo festgelegt wird in die wievielte Spalte/Zelle die Listbox auslesen soll.
Mit A1 klappt es ja ganz gut, nur möchte ich den Text später in einem Formular
plazieren.
Das Makro ist nicht von mir und meine Versuche (Try +Error) bringen mich nicht
weiter.
Vielen Dank!
Gruß
Max
https://www.herber.de/bbs/user/29095.xls

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

Betreff
Datum
Anwender
Anzeige
AW: Listbox Makro ändern
10.12.2005 17:44:23
Erich
Hallo Max,
der Code war wohl mal dedacht dazu, dreispaltige Listeneinträge in die Tabelle zu übertragen - deine Liste hat aber nur eine Spalte. Damit lässt sich der Code vereinfachen zu

Option Explicit
Private Sub cmdEintragen_Click()
Dim iRow As Integer, iRowL As Integer, iCol As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row + 1
For iRow = 0 To lstKunde.ListCount - 1
Cells(iRowL + iRow, 1) = lstKunde.List(iRow)
Next iRow
lstKunde.Clear
End Sub
Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub lstDaten_Click()
Dim iCounter As Integer
lstKunde.AddItem
lstKunde.List(lstKunde.ListCount - 1) = lstDaten.List(lstDaten.ListIndex)
End Sub
Private Sub lstKunde_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
lstKunde.RemoveItem lstKunde.ListIndex
End Sub
Private Sub UserForm_Initialize()
Dim wks As Worksheet
Dim iRow As Integer
Set wks = Worksheets("Daten")
iRow = wks.Cells(Rows.Count, 1).End(xlUp).Row
lstDaten.RowSource = wks.Name & "!A2:A" & iRow
End Sub

In "UserForm_Initialize()" werden die Listeneinträge für die Auswahl aus der Tabelle Daten, Zellen A2 bis zur letzten belegten Zelle in A erstellt.
In "cmdEintragen_Click()" werden mit
Cells(iRowL + iRow, 1) = lstKunde.List(iRow)
die ausgewählten Einträge in Spalte A (entspricht der 1) nach der letzten Zeile eingetragen. (iRowL wurde vorher als "letzte belegte Zeile + 1" berechnet.
Alles klar? ;-)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Listbox Makro ändern
10.12.2005 19:09:00
Max
Hallo Erich,
erstmal vielen Dank für`s Aufräumen und deine Erklärung!
Ich suche allerdings immer noch eine Stelle, wo ich den Beginn der Liste
bestimmen kann.
Bspw. der Eintrag aus der Listbox soll in D11 beginnen und dort endlos weiterschreiben.
Ich habe das Makro so geändert:

Private Sub cmdEintragen_Click()
Dim iRow As Integer, iRowL As Integer, iCol As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row + 10
For iRow = 0 To lstKunde.ListCount - 1
Cells(iRowL + iRow, 5) = lstKunde.List(iRow)
Next iRow
lstKunde.Clear
End Sub

Damit werden zwar die Einträge in Spalte D (5), ab Zelle 11 geschrieben, weitere Auswahlen aus der Listbox werden aber nicht mehr angefügt, sondern nur die vorhandenen Einträge überschrieben.
Es muß also noch eine Stelle geben wo bestimmt wird, dass die Liste jetzt ab D11
endlos geschrieben werden soll.
Es wäre nett wenn du mir sagen könntest, was noch geändert werden muß.
Danke!
Gruß
Max
Anzeige
AW: Listbox Makro ändern
10.12.2005 19:20:32
Erich
Hallo Max,

iRowL = Cells(Rows.Count, 1).End(xlUp).Row + 10

ermittelt immer die Zeile 10 Zeilen nach nach der letzten Zeile in Spalte A. Da sich in Spalte A nichts ändert, werden die Einträge immer ab der selben Zeile vorgenommen - und damit alte Einträge überschrieben.
Du müsstest von der letzten belegten Zeile in Spalte D (4. Spalte) ausgehen:

iRowL = Cells(Rows.Count, 4).End(xlUp).Row + 1

Wenn in D10 immer etwas steht, recht das aus. Wenn nicht, müsstest du noch sicherstellen, dass erst ab Zeile 11 ausgegeben wird:

iRowL = Cells(Rows.Count, 4).End(xlUp).Row + 1
if iRowL 

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Listbox Makro ändern
10.12.2005 20:01:08
Max
Hallo Erich,
Es funktioniert jetzt alles prima.
Danke für deine Geduld und deine Hilfe!
Noch ein schönes Wochenende........;-))
Gruß
Max

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige