Microsoft Excel

Herbers Excel/VBA-Archiv

Zeilen ausschneiden / identische Anz.Zeilen einfüg

Betrifft: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lusso
Geschrieben am: 03.09.2004 13:30:25

Hallo Zusammen

Meine Problemstellung: ich bearbeite wöchentlich eine Excel-Tabelle, die in 22 Rubriken aufgeteilt ist. Jede Rubrik umfasst 500 Zeilen –
d.h. Rubrik A beginnt bei Zeile 85 und endet bei Zeile 585
d.h. Rubrik B beginnt bei Zeile 586 und endet bei Zeile 1086
d.h. Rubrik C beginnt bei Zeile 1087 und endet bei Zeile 1088
etc.

Die wöchentliche Bearbeitung umfasst die Aktualisierung der Rubriken d.h. es müssen auch Zeilen gelöscht werden – sodass die Anzahl Zeilen sich um die gelöschten verringert und manuell am Rubrikenende als Leerzeilen wieder eingefügt werden müssen!

Beispiel: ich lösche die "Zeile 93" und die "Zeilen 221+223" dann umfasst Rubrik A nur noch 497 Zeilen – statt der erforderlichen 500.

Gibt es ein Möglichkeit ein Makro zu schreiben das jede Zeile die man z.B. unter
"Rubrik A" ausschneided – am zugehörigen Rubrikende wieder ergänzt - sodass die maximale Zeilenzahl von 500 nicht unter-/überschritten wird.

Ebenso ist das Vorgehen in den Rubriken B / C / D / etc..

Hat jemand Erfahrung mit einer ähnlichen Problemstellung – ich wäre für eine Lösung sehr dankbar.

Vielen Dank für Eure Bemühungen.
Lusso

  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Martini Elisabeth
Geschrieben am: 03.09.2004 13:36:13

Wenn du mit Namen arbeitest, dann sind die Adressen normalerweise "wurscht" und das einfügen von Leerzeilen überflüssig. Warum müssen denn die Rubriken immer in der richtigen Zeile stehen?

Lissy Martini


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lusso
Geschrieben am: 03.09.2004 13:46:32

Hallo Lissy Martini

...na ja, es gibt im Leben so mancherlei Dinge die sich nicht als "Wurscht" abtun lassen!

Lusso


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lissy Martini
Geschrieben am: 03.09.2004 13:55:35

Für dieses Problem gibt es mehrere Ansätze, einer davon ist die Definition von Namen
für Rubriken. Um aber zu wissen ob der Ansatz funktioniert wäre es wichtig zu wissen, warum du die Rubriken auf feste Adressbereiche setzt.

Selbstverständlich gibt es eine Möglichkeit ein Makro zu schreiben, dass die Leerzeilen einträgt. Ob das aber notwendig ist, kommt auf dein Problem an.

Entschuldigung für den vielleicht etwas zu flapigen Beitrag.

Gruß Lissy Martini


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lusso
Geschrieben am: 03.09.2004 14:54:59

... also, die Problematik kann ich nur so umschreiben - mein Job ist schlussendlich die Daten die aus verschieden Quellen angeliefert werden zu aktualisieren und vorallem zu visualsieren! Die Vorlage ist von meinem Auftraggeber vorgegeben und darf unter keinen Umständen abgeändert werden!
Ich hoffe dies reiche zur Problemschilderung!
Es grüsst dich ein doch eher visuell als VBA geneigter aber trotzdem begeisterter Excel Anwender.
Lusso


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Martini Lissy
Geschrieben am: 03.09.2004 15:08:15

Habe versucht es zu Programmieren, allerdings ist das erst der einfachste Versuch.

Du stehtst auf einer Zeile rufst das Makro auf und es wird am ende des Bereichs sofort
wieder die Zeile angefügt.

Das Makro bitte in den Editor stellen. Auf Extra/makros/Makros gehen mit Optionen
dem ganzen eine Tastenkombination zuweisen und los gehts

Gruß Lissy Martini


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Elisabeth Martini
Geschrieben am: 03.09.2004 15:11:53

Hier das Makro

Sub löschen()
ActiveCell.EntireRow.Delete
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveCell.EntireRow.Insert
End Sub



Gruß Lissy


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lusso
Geschrieben am: 03.09.2004 16:13:05

Danke "Super-Lissy"

Erschreckend schnell dein Makro!

Einzwei Fragen hätte ich noch.

- Muss ich einen Bereich eingeben wo die Zeile einzufügen ist??? Im Moment wird die leere Zeile an für mich nicht nachzuvollziehenden Positionen eingefügt.

- Immer wieder erscheint bei mir die Meldung Laufzeitfehler 1004 - Wenn ich "Debuggen" anklicke ist untenstehende Zeile gelb eingefärbt!

ActiveCell.End(xlDown).Offset(1, 0).Select

wenn ich auf beenden klicke wurde die Zeile gelöscht - jedoch meines Wissens nirgends eingefügt.

Aber nichtsdestotrotz ich bin fasziniert.

Vielen Dank und Gruss
Lusso


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Martini Elisabeth
Geschrieben am: 03.09.2004 16:27:36

Hallo, nochmals zur Erklärung:

Mein Makro löscht die Zeile an Cursorposition und geht an des Ende (An die letzte gefüllte Position (das könnte bei dir evtl. ein Problem sein). Anschließend fügt er eine Leerzeile am Ende ein.

Also fülle die Zelle A1 bis C10 mit X (Alles markieren, x schreiben mit STRG und Return bestätigen)

Dann fülle die Zelle A12 bis C22 mit y

Wenn du jetzt das Makro ausführst woimmer du in den beiden Bereichen stehts, dann wird Excel dir eine Zeile löschen (die in der der Cursor steht) und am Ende des Bereichs die Zeile leer anfügen.

Wenn deine Bereiche nicht mindestens mit einer Leerzeile getrennt sind, funktioniert das Ganze nicht.


Z.B.

aaaaa
bbbbb
ccccc Wenn Cursor auf a steht ist c das Ende

ddddd
eeeee
fffff Wenn cursor auf d steht ist fff das Ende

Steht der cursor auf der Leerzeile ist dd das Ende

Ich hoffe jetzt wird es ein bisschen klarer
Gruß Lissy Martini


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lusso
Geschrieben am: 03.09.2004 16:44:36

Du bist S U U U P E R !!!

Evtl. liegt das Problem bei mir auch daran, dass unter der gewählten Zelle - in der senkrechten - nicht jede Zelle ausgefüllt ist.

Wie auch immer, ich werde in den späteren Nachtstunden deine letzte Nachhilfe umzusetzen versuchen und mich sicherlich nochmals melden.

Vorerst herzlichen Dank und schönen Abend
Lusso


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Martini Elisabeth
Geschrieben am: 03.09.2004 15:50:43

Dieses Makro funktioniert aber nur, wenn die Rubriken mit mind. einer Leerzeile voneinander getrennt sind.

Ansonsten kommt das nächste Makro

Gruß Martini


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lusso
Geschrieben am: 03.09.2004 17:16:19

Hallo Super-Lyssy

...konnte es nicht lassen ...

Wenn ich dein Beispiel mit y in A1 bis C10
und x in A12 bis C22 anwende funktioniert das Ding genau 8x !!!
Wenn ich denn Cursor immer auf A1 setze und dann das Makro jeweils auslöse funktioniert alles wunderbar bis zum neunten Mal - dann setzt es mir auf Zeile 12 die Leerzeile.

Gruss in Eile
Lusso


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Martini Elisabeth
Geschrieben am: 03.09.2004 17:43:13

Das liegt daran, dass er das Ende immer dort findet, wo sich Eingaben und nicht Eingaben treffen. Also, steht er in der letzten Beschriebenen Zeile eines bereichs sucht er die nächsten Bereiche unten, steht er inmitten der beschriebenen Bereiche, sucht er das Ende des Bereichs.

Geh mal von jeder stelle aus und führe das Makro mit F8 aus, damit du siehst was er tut.
Wenn das Abfangen dieser Eigenschaft ausreicht, dann werde ich das morgen programmieren, wenn nicht suche eine andere Gesamtlösung

Gruß Elisabeth martini


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lusso
Geschrieben am: 04.09.2004 14:07:20

Hallo Lissy

Wie du sicherlich bereits festgestellt hast ist mein Mathe-Verständnis...!
Ich möchte wirklich nicht unverschämt erscheinen wenn ich an dich meine Wünsche in einem zweiten Anlauf nochmals schildere.

Was das Makro zu meiner Sicherheit ausführen sollte wäre die Möglichkeit:

Zelle anklicken - Zeile (mit Inhalt) kopieren – kopierte Zeile unterhalb der letzten beschriebenen Zeile einfügen – (Luxusvariante: einfügen in z.B. roter Schrift – und zurück an den Ausgangspunkt).

So könnte ich im Fall einer irrtümlichen Löschung auf den Zeileninhalt zurückgreifen! Ich würde am Schluss der Überarbeitung die in Rot eingefärbten Zeilen manuell löschen.

Inetwa so stellt sich KleinHänschen - der absolut nicht in der Lage ist den Aufwand abzuschätzen - sein Glück vor.
Ich bitte dich ich dich meinen Wunsch bei gröberem Aufwand auch als solchen anzusehen!.

Ich könnte natürlich auch mit deinem Vorschlag – (…wenn das Abfangen dieser Eigenschaft ausreicht, dann werde ich das morgen programmieren) sehr gut leben!.

Ich grüsse dich und vielen Dank
Lusso


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Elisabeth Martini
Geschrieben am: 04.09.2004 16:59:09

Anbei zwei Makros
Makro 1 Kopiert Zeile und dupliziert sie nach unten und färbt rot

Sub löschen_1()
'Makro zum
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Insert
ActiveCell.EntireRow.Font.ColorIndex = 3
End Sub


Makro 2 Löscht Zeile der aktiven Zelle


Sub löschen_2()
ActiveCell.EntireRow.Delete
End Sub


Mach dir doch für beide Fälle einen Button und alles ist perfekt.

Liebe Grüße aus dem sonnigen Bayern
Lissy Martini


  


Betrifft: AW: Zeilen ausschneiden / identische Anz.Zeilen einfüg von: Lussso
Geschrieben am: 06.09.2004 08:43:46

Hallo Lissy
Vielen Dank für deine Samstagarbeit! Mit irgendend einem Kompromiss werde ich das schaffen.
Du hast mir sehr geholfen.

Ich grüsse dich und vielen Dank
Lusso


 

Beiträge aus den Excel-Beispielen zum Thema "Zeilen ausschneiden / identische Anz.Zeilen einfüg"