Komplexer Durchlauf von Bereichen
27.02.2013 17:26:01
Bereichen
ich habe folgendes Problem und hoffe, dass ihr mir helfen könnt:
Ich habe einen zusammenhängenden Tabellenbereich mit Daten (z.B. A1:G3).
Aus diesem Bereich möchte ich einzelne kleinere Bereiche markieren (nicht nur einzelne Zellen) die sich eventuell auch in der Zeile überschneiden (z.B. Teilbereich-1 A1:B2 und Teilbereich-2 D2:D3 --- Zeile 2 in beiden Teilbereichen). Als nächstes sollen die Daten aus diesen Bereichen entfernt werden (.clear) und die Zellen mit Daten rechts neben den gelöschten Bereichen sollen nach links verschoben werden, so dass keine Lücke entsteht.
Ich hoffe die Erklärung ist nicht zu verworren. Vielleicht erklärt es ein Bild besser. Dann bitte posten und ich erstelle eins.
Ich habe schon einen meiner Meinung nach guten Code verfasst der auch alles richtig macht nur eins ist nicht nach meinen Wünschen: die Abarbeitung der FOR-EACH-NEXT-Schleife, die ich zum ansprechen der einzelnen Teilbereiche verwende, verläuft in der Reihenfolge, in der ich die Markierung getätigt habe. Wenn sich Bereiche in Zeilen überschneiden (wie oben beschrieben), darf der Teilbereich mit "geringerer" Spaltennummer nicht zuerst abgearbeitet werden, da sonst im zweiten Bereich die Daten verschoben sind (durch das Vorrücken um keine Lücke zu haben) und dann falsche Daten gelöscht werden.
Wenn da jemand Rat weiß, wäre ich sehr dankbar.
Im Prinzip muss in meinem komplexen Code irgendwo noch hinein, dass er mit der höchsten Spaltennummer zuerst beginnen muss und dann rückwärts gehen.
Aber langsam weiß ich keinen Rat mehr. Wenn nötig setze ich den Code auch rein, aber ich möchte nicht vorher andere Ideen beeinflussen.
Meine Notlösung wäre, erstmal die Bereiche zu löschen und anschließend nochmal durchlaufen und die Daten von rechts nach links verschieben. Schön wäre es aber in einem Abwasch.
Vielen Dank schonmal im Voraus
Euer fleißiger Leser Chris