Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1332to1336
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

Makro mit Button Zeile ausschneiden und einfügen

Makro mit Button Zeile ausschneiden und einfügen
04.10.2013 11:40:46
Borgi
Hallo Herbers Excel Forum,
ich habe leider (noch) keine Ahnung von VBA-Makros in Excel 2007. Ich kann bisher nur Makros mit dem Recorder aufnehmen, aber die sind mir zu unflexibel.
Ich brauche ein Makro für einen Projekt-Terminplan, was folgende Funktionen erfüllt:
1. Die Zelle die gerade ausgewählt ist, soll dann die ganze Zeile markiert werden.
2. diese gesamte Zeile soll ausgeschnitten werden
3. Die Zeile soll auf das zweite Blatt mit den Namen: Archiv immer an oberster Stelle (Entspricht in meinem Archiv Zeile 16) eingefügt werden.
4. die Zeile, wo ich im Terminplan ausgeschnitten habe, soll gelöscht werden. (da sie ja leer ist)
5. eine leere Zeile soll in etwa bei der 200 Zeile des Terminplans eingefügt werden
Diese Funktionen sollen in der Reihenfolge ablaufen und über einen Button gesteuert werden.
Hier noch mein aufgenommenes Makro mit allen Funktionen:
Sub Makro2()
' Makro2 Makro
Rows("37:37").Select
Selection.Cut
Sheets("Archiv").Select
Rows("16:16").Select
ActiveSheet.Paste
Sheets("Zeitplan").Select
Selection.Delete Shift:=xlUp
ActiveWindow.SmallScroll Down:=156
Rows("199:199").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.SmallScroll Down:=-147
End Sub
Ich hoffe ihr könnt mir weiterhelfen.
Gruß und Dank
Borgi

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA : Zeile ausschneiden und einfügen
04.10.2013 12:45:42
NoNet
Hallo Borgi,
dieses Makro ist etwas universeller und kürzer :
Sub Ausschneiden_und_Einfuegen()
ActiveCell.EntireRow.Cut
Sheets("Archiv").Rows("16:16").Insert Shift:=xlDown
ActiveCell.EntireRow.Delete
Rows("200").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Gruß, NoNet
Hast Du Interesse, andere Excel-Begeisterte kennenzulernen ? - Dann komme zum
Exceltreffen 11.-13.10.2013 in Duisburg

http://www.exceltreffen.de/index.php?page=230
Schau doch mal rein !

Anzeige
AW: VBA : Zeile ausschneiden und einfügen
04.10.2013 15:41:32
Borgi
Hi NoNet,
Danke das funktioniert super :)
Jetzt hätte ich noch eine Frage, kann man einen 2ten Button mit Makro einfügen, auf dem Archiv-Reiter, dass die markierte Zeile wieder auf den Reiter "Zeitplan" in die erste leere Zeile übertragen wird?
1000 Dank und Gruß
Borgi

Zeile aus ARCHIV nach ZEITPLAN zurück kopieren
04.10.2013 16:11:58
NoNet
Hallo Borgi,
mit folgendem Makro kannst Du die aktuelle Zeile wieder in das Blatt "Zeitplan" zurück kopieren :
Sub Zeile_aus_Archiv_Kopieren()
ActiveCell.EntireRow.Cut
With Sheets("Zeitplan")
.Rows(.Cells(Rows.Count, 1).End(xlUp).Row + 1).Insert Shift:=xlDown
End With
ActiveCell.EntireRow.Delete
End Sub
Voraussetzung für die korrekte Position ist eine befüllte Zelle in Spalte A des Blattes "Zeitplan !"
Salut, NoNet

Anzeige
AW: Zeile aus ARCHIV nach ZEITPLAN zurück kopieren
04.10.2013 16:52:37
Borgi
Vielen Dank! funktioniert bestens! :)

AW: Zeile aus ARCHIV nach ZEITPLAN zurück kopieren
07.10.2013 09:21:24
Borgi
Guten Morgen,
es tritt bei mir jetzt der Fehler auf beim Schließen der Datei auf "Bild ist zu groß und wird abgeschnitten." Wenn ich die Datei danach wieder öffnen möchte, ist sie nicht lesbar und muss wiederhergestellt werden.
Nach der Befragung von Google bedeutet die Fehlermeldung, dass der Zwischenspeicher zu "voll" ist. Kann man den "Auschneiden" Befehl nur für die Spalten A-DD anwenden? Damit der Zwischenspeicher nicht so überladen wird.
Gruß
Borgi

AW: Zeile aus ARCHIV nach ZEITPLAN zurück kopieren
08.10.2013 10:43:16
Borgi
Den Fehler mit "Das Bild ist zu Groß und wird abgeschnitten" konnte ich beheben, in dem ich statt "Cut" der Zeile, "Copy" verwende.
Nur leider besteht das andere Probleme weiterhin. Bitte helft mir!
Danke und Gruß
Borgi

Anzeige
AW: Zeile aus ARCHIV nach ZEITPLAN zurück kopieren
08.10.2013 14:43:30
fcs
Hallo Borgi,
den Zwischenspeicher kann man in Excel nach dem Kopieren von Zellen löschen, indem man den CutCopyMode auf False setzt.
Außerdem musst du darauf achten, dass die Grafikobjekte in den Zeilen, die kopiert werden komplett inner halb der Zeilen positioniert sind, sonnst kommt es zu unschönen Effekten beim Einfügen und Verschieben der Zeilen.
Als störend erweist sich auch der Parameter CopyOrigin beim Einfügen einer Leerzeile in Zeile 200.
Irgendwann kommt bei mir die Meldung "Kann Objekt nicht über Seitenrand hinausschieben.
Die Makros sollten also etwa wie folgt aussehen.
Ob dies dein Speichern-Problem bereinigt: ?
mfg
Franz
Sub Ausschneiden_und_Einfuegen()
ActiveCell.EntireRow.Cut
Sheets("Archiv").Rows("16:16").Insert Shift:=xlDown
Application.CutCopyMode = False
ActiveCell.EntireRow.Delete
Rows("200").Insert Shift:=xlDown ', CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Sub Zeile_aus_Archiv_Kopieren()
ActiveCell.EntireRow.Cut
With Sheets("Zeitplan")
.Rows(.Cells(Rows.Count, 1).End(xlUp).Row + 1).Insert Shift:=xlDown
End With
Application.CutCopyMode = False
ActiveCell.EntireRow.Delete
End Sub

Anzeige
AW: Zeile aus ARCHIV nach ZEITPLAN zurück kopieren
07.10.2013 15:49:37
Borgi
Hallo NoNet, wenn ich die Makros von dir ausführe bekomme ich nach dem normalen Speichern der Datei und wieder Öffnen folgende Fehlermeldungen.
Userbild
Userbild
In der Liste sind teilweise Pfeile zwischen den Zellen einer Zeile. (Terminverschiebungen)
Wenn ich per Hand Ausschneide und wieder Einfüge funktioniert es ohne Probleme und beim neuladen tritt dieser Fehler nicht auf.
Hast du da vielleicht eine Idee woran es liegen kann?
Gruß
Borgi
Anzeige

116 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige