Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Tabelle über Listenfeld füllen
15.07.2008 09:57:11
Franz
Hallo zusammen,
über ein Listenfeld "lstvalues" in meinem Userform übernehme ich die selektierten Daten in meine Tabelle3,
funktioniert soweit. Wenn meinen Exceltabelle bzw. Userform geschlossen und neu geladen wird, und dann Einträge selektiert werden, dann werden bestehende Datenzeilen überschieben. Das darf nicht sein, es sollte nur in leere Zeilen die markierten Text übernommen werden. Wie muss ich den Code abändern das funktioniert.
Gruß Franz

Sub buttonübernahmeDatenTabelle3()
Dim iRow As Integer, iCol As Integer, iZei As Integer
iZei = 9 'ab Zeile 9 werden die Daten eingetragen
For iRow = 0 To lstValues.ListCount - 1
If lstValues.Selected(iRow) Then
iZei = iZei + 1
Tabelle3.Cells(iZei, 1).Value = Me.lstValues.List(iRow, 0)
Tabelle3.Cells(iZei, 3).Value = Me.lstValues.List(iRow, 1)
End If
Next iRow
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Tabelle über Listenfeld füllen
15.07.2008 10:03:40
David
bin zwar auch nicht so gut in VBA, aber so sollte das doch gehen, oder:

If Tabelle3.Cells(iZei, 1).Value = "" then Tabelle3.Cells(iZei, 1).Value = Me.lstValues.List(iRow, 0)


Gruß
David

AW: Tabelle über Listenfeld füllen
15.07.2008 11:27:20
Erich
Hallo Franz,
oder so:

iZei = iZei + 1
With Tabelle3
If IsEmpty(.Cells(iZei, 1)) Then .Cells(iZei, 1) = lstValues.List(iRow, 0)
If IsEmpty(.Cells(iZei, 3)) Then .Cells(iZei, 3) = lstValues.List(iRow, 1)
End With
End If
'...

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Tabelle über Listenfeld füllen
15.07.2008 11:54:27
Franz
Hallo Erich,
vielen Dank für Deine Unterstützung. Wenn ich nachträglich im Listefeld keine Daten ändere oder noch keine Daten in der Tabelle 3 sind dann funktioniert der Code.
Aber wenn z.B. in Tabelle 3 schon 10 Einträge gemacht worden sind und ich das Listenfeld neu lade und dann nur 2 Zeilen selektiere dann wird der Text nicht in Tabelle 3
eingelesen. Im prinzip sollte auch wenn die Exceldatei geschlossen wird und das Userform mit dem Listenfeld neu geladen wird und dann nur ein Eintrag selectiert wird, dieser
in die nächste freie Zeile in Tabelle 3 eingelesen werden. Hast Du noch eine Idee?
Gruß Franz

Anzeige
AW: Tabelle über Listenfeld füllen
15.07.2008 13:45:50
Erich
Hi Franz,
dann probier mal das (ungetestet):

Sub buttonübernahmeDatenTabelle3()
Dim iRow As Integer, iCol As Integer, iZei As Integer
With Tabelle3
'ab Zeile 10 werden die Daten eingetragen
iZei = Application.Max(9, .Cells(.Rows.Count, 1).End(xlUp).Row)
For iRow = 0 To lstValues.ListCount - 1
If lstValues.Selected(iRow) Then
iZei = iZei + 1
.Cells(iZei, 1).Value = Me.lstValues.List(iRow, 0)
.Cells(iZei, 3).Value = Me.lstValues.List(iRow, 1)
End If
Next iRow
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Tabelle über Listenfeld füllen
15.07.2008 14:01:00
Franz
Hallo Erich,
Danke ! Funkt!
Gruß Franz

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige