Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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

Array: Zeilen einschieben

Array: Zeilen einschieben
09.01.2017 18:26:27
Winfried

Hallo zusammen,
ich versuche eine Tabellenerweiterung zu beschleunigen, bei der ich zwischendurch Zeilen einfü _
ge und den Rest der Tabelle um diese Zeile weiter nach unten verschieben muss.
Wenn ich das (per VB) im Tabellenblatt mache, dauert das fast ne Stunde (Anfängliche 5.800  _
Datensätze werden zu ca. 10.000 Datensätzen).
Vorgehen:
1. Ich gehe zeilenweise von unten nach oben durch die Tabelle
2. Ich prüfe ein bestimmtes Feld der Zeile auf Inhalt
3. Wenn Inhalt in dem Feld steht, muss ich aus der einen Zeile zwei (manchmal sogar drei Zeilen) _
machen.
4. Dabei füge ich die neuen Zeilen unter der aktuellen Zeile ein und verschiebe somit den Rest  _
der Tabelle -um die Anzahl Zeilen- nach unten => Tabelle wird länger.
Ich hab bis jetzt nichts gefunden wie ich das mit einem Array (o. ähnlichem) hinbekommen kann,  _
aber hier muss es doch auch eine Möglichkeit geben, oder?
Danke im Voraus für eure Hilfe.
Winfried

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

Betreff
Datum
Anwender
Anzeige
AW: Array: Zeilen einschieben
09.01.2017 18:36:22
Daniel
Hi
das geht bei großen Datensätzen am schnellsten so:
1. in einer ersten Hilfsspalte die aktuelle Zeilennnummer als Festwert eintragen (z.B. mit der Formel =Zeile() und dann kopieren und als Wert einfügen.
2. in einer zweiten Hilfsspalte kennzeichnet man per Formel alle Zeilen, die 1x dupliziert werden müssen mit 1 und die die 2x dupliziert werden müssen mit 2
3. dann sortiert man die Tabelle nach der 2. Hilfsspalte.
4. jetzt kann man alle Zeilen, die mit 1 gekennzeichnet markieren, kopieren und unterhalb der Tabelle einfügen
5. dann verfährt man mit den mit 2 gekennzeichneten Zeilen genauso, verdoppelt aber die Größe des Einfügebereichs, (die Zeilen werden dann doppelt eingefügt)
6. dann sortiert man die ganze Tabelle wieder nach der ersten Hilfsspalte mit den Zeilennummern in die ursprüngliche Reihenfolge zurück
7. am Schluß löscht man die Hilfsspalten wieder.
da Excel im Sortieren sehr schnell ist und die Zellen nicht einzeln sondern als Block in einem Schritt kopiert und eingefügt werden, sollte das auch bei größeren Datenmengen als 10.000 Zeilen in Sekunden abgearbeitet sein.
Gruß Daniel
Anzeige
Etwas am Thema vorbei, aber
09.01.2017 18:45:31
lupo1
http://xxcl.de/0052.htm
zeigt, wie man 32000 Datensätze in 0,3 Sekunden mit Variantarrays spreizt (ab südlich von der Tabelle).
AW: Ansatz: sortieren
09.01.2017 18:41:27
Fennek
Hallo,
nur so eine Konzeptidee:
in beiden Datensätzen eine Hilfsspalte einfügen und dort die Sortierreihenfolge des gemainsamen Datensatzes eintragen. Dann beide Tabellen untereinander kopieren und sortieren.
Meine Wette (um nichts): Laufzeit unter 5 Sekunden.
mfg
AW: Array: Zeilen einschieben
09.01.2017 18:57:13
ransi
Hallo Winfried,
Schalte mal die automatische Berechnung und die Bildschirmaktualisierung aus.
ransi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige