Anzeige
Archiv - Navigation
1172to1176
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
Inhaltsverzeichnis

Listeneinträge mehrmals in neue Liste kopieren

Listeneinträge mehrmals in neue Liste kopieren
Adrian
Hallo allerseits,
wie immer, wenn ich am Rande der Verzweiflung bin und einfach nicht mehr mit dem lieben Excel weiter weiss, wende ich mich an euch. Und ich bin noch jedes einzelne Mal von eurer Hilfsbereitschaft beeindruckt gewesen!!!
Hier mein Problem:

Die Datei https://www.herber.de/bbs/user/71279.xls wurde aus Datenschutzgründen gelöscht


Ich muss einzelne Einträge aus einer sich leider dauernd ändernden "Ausgangsliste" (d.h. es kommen neue Einträge hinzu und alte Einträge werden rausgelöscht) jeweils mehrfach untereinander in eine Zielliste kopieren (im Beispiel jeweils drei mal pro Eintrag, nämlich für 2009, 2010 und 2011).
Hinzu kommt noch die Schwierigkeit, dass ein Kriterium (im Beispiel "Alter") jeweils entscheiden soll, ob ein Eintrag der "Ausgangsliste" nur in Zielliste 1 oder nur in Zielliste 2 kopiert werden soll.
Folglich müssen sich die Ziellisten automatisch anpassen, wenn sich die Ausgangsliste ändert.
Hat vielleicht jemand von euch einen Tipp? DANKEDANKEDANKE im Voraus!!!!
Viele Grüsse aus der Schweiz,
Adrian

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Listeneinträge mehrmals in neue Liste kopieren
27.08.2010 01:56:54
fcs
Hallo Adrian,
mein Tipp: Erstelle die Ziellisten koplett neu, wenn du die Ausgangsliste aktualisiert hast.
Das nachfolgende Makro verteilt die Daten dan auf die Zieltabellen.
Gruß
Sub DatenVerteilen()
Dim wksAusgang As Worksheet
Dim sName As String, vAlter As Variant
Dim arrAlter() As Variant, arrEintrag() As Variant
Dim arrZiel() As Worksheet
Dim Zeile As Long, ZeileZiel As Long, iZiel As Long, iEintrag As Long
Dim StatusCalc
Set wksAusgang = Worksheets("Ausgangsliste")
'Zuordnen von Alter und Zieltabellen
iZiel = 2 'Anzahl Altersangaben
ReDim arrAlter(1 To iZiel): ReDim arrZiel(1 To iZiel)
arrAlter(1) = "jung":       Set arrZiel(1) = Worksheets("Zielliste 1")
arrAlter(2) = "alt":        Set arrZiel(2) = Worksheets("Zielliste 2")
'sich wiederholende Einträge je Eintrag in den Zieltabellen
iEintrag = 3 'Anzahl der Einträge
ReDim arrEintrag(1 To iEintrag)
arrEintrag(1) = 2009:   arrEintrag(2) = 2010:   arrEintrag(3) = 2011
'Makrobremsen lösen
With Application
.EnableEvents = False
StatusCalc = .Application.Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
'Ziellisten - Aldaten löschen
For iZiel = 1 To UBound(arrZiel)
With arrZiel(iZiel)
ZeileZiel = .Cells(.Rows.Count, 1).End(xlUp).Row
If ZeileZiel > 1 Then
.Range(.Rows(2), .Rows(ZeileZiel)).ClearContents
End If
End With
Next
'Zeilen in Ausgangsliste abarbeiten
With wksAusgang
For Zeile = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
sName = .Cells(Zeile, 1)
vAlter = .Cells(Zeile, 2)
For iZiel = 1 To UBound(arrAlter)
'Index im Array ermitteln durch Vergleich von Alter mit den Arrayinhalten
If vAlter = arrAlter(iZiel) Then
With arrZiel(iZiel)
'Letzte Datenzeile im Zielblatt
ZeileZiel = .Cells(.Rows.Count, 1).End(xlUp).Row
'Werte in Zieltabelle eintragen
For iEintrag = 1 To UBound(arrEintrag)
.Cells(ZeileZiel + iEintrag, 1) = sName
.Cells(ZeileZiel + iEintrag, 2) = arrEintrag(iEintrag)
.Cells(ZeileZiel + iEintrag, 3) = vAlter
Next
End With
Exit For
End If
Next
Next
End With
'Makrobremsen zurücksetzen
With Application
.EnableEvents = True
.Calculation = StatusCalc
.ScreenUpdating = True
End With
End Sub

Anzeige
AW: Listeneinträge mehrmals in neue Liste kopieren
27.08.2010 02:50:38
Adrian
phänomenal!
vielen herzlichen dank! das passt perfekt (habe es jetzt angepasst an mein riesen-excel).
gute nacht noch!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige