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

Zeilen nach unten verschieben

Zeilen nach unten verschieben
01.09.2008 16:20:00
KL
Hallo zusammen,
ich würde mich sehr freuen, wenn mir jemand bei der Lösung des nachstehenden Problems helfen könnte.
Für die Projektverwaltung eines Vereins brauche ich ein Kontenblatt ähnlich eines Kassenbuches.
Allerdings soll jeweils der letzte (aktuelle) Eintrag oben stehen.
Nach jedem Eintrag soll die Zeile um eine Zeile nach unten geschoben und somit die Eingabezeile wieder frei für die nächste Aktion werden.
Unter https://www.herber.de/bbs/user/55089.xls habe ich meinen Entwurf zur Verdeutlichung eingestellt.
Natürlich müssen noch die entsprechenden Formeln für die automatische Berechnung mit eingefügt werden.
Wie gesagt, es wäre sehr hilfreich, wenn mir kurzfristig jemand einen Tipp geben könnte. Besten Dank schon vorab.
Gruß aus München, KL List

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

Betreff
Datum
Anwender
Anzeige
Kleines Makro
01.09.2008 16:42:33
Backowe
Hi,
VBA-Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Code in das Tabellenblatt!
Application.EnableEvents = False
If Not Intersect(Target, Range("D7")) Is Nothing Then
  Range("D7").EntireRow.Insert shift:=xlDown
  Range("A" & Target.Row) = Range("A" & Target.Row + 1) + 1
  With Range("C" & Target.Row)
    .Value = Date
    .NumberFormat = "YYYY.MM.DD"
  End With
  Range("C8:D8").HorizontalAlignment = xlGeneral
End If
Application.EnableEvents = True
End Sub
Gruß Jürgen
AW: Zeilen nach unten verschieben
Hary

Hallo Kl
Was mir in diesem Forum beigebracht wurde: keine verbundenen Zellen. Dann wirds schwierig.
Hier ein Code. Sobald etwas in Zelle A1 eingetragen wird und der Focus raus geht dann wird eine Zeile darueber eingefuegt. Kannst Du auf einer leeren Mappe ausprobieren.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not IsNumeric(Cells(1, 1)) Then
Rows("1:1").Select
Selection.Insert Shift:=xlDown
End If
End Sub


Gruss Hary

AW: Zeilen nach unten verschieben
fcs

Hallo KL List,
https://www.herber.de/bbs/user/55091.xls
Hier deine Datei mit einem kleine Beispiel Makro.
Das Einfügen einer Leerzeile erfolgt nicht "automatisch" sondern nach Klick auf den Button.
Dazu wird die Zeile 7 kopiert, und vor Zeile 8 eingefügt. Danach werden in Zeile 7 die Inhalte in den Eingabezellen gelöscht.
Vorsicht beim Einbau von Formeln. Hierzu muss der Kopiervorgang ggf. angepasst werden. Meine Beispielformel für die Spalte "Stand" harmoniert mit dem programmierten Kopiervorgang.
Gruß
Franz
Alternatives Makro, das nach dem Einfügen der Leerzeile die Zeile 8 in die Zeile 7 kopiert, um die Formeln zu übernehmen.

Sub NeueEingabeZeile()
'neue Eingabezeile in Zeile 7 einfügen
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
'Leerzeile einfügen
.Rows(7).Insert shift:=xlShiftDown
'Zeile 8 nach zeile 7 kopieren
.Rows(8).Copy Destination:=.Rows(7)
'Inhalte in Eingabezellen Zeile 7 löschen
.Range(.Cells(7, 3), .Cells(7, 6)).ClearContents 'Spalten C bis F
.Cells(7, 8).ClearContents 'Spalten G
'neue Zeilennummer Spalte A Zeile 7 eintragen
.Range(.Cells(7, 3), .Cells(7, 6)).ClearContents 'Spalten C bis F
.Cells(7, 1).Value = Application.WorksheetFunction.Max(.Range(.Cells(8, 1), _
.Cells(.Rows.Count, 1).End(xlUp))) + 1
End With
End Sub


AW: Zeilen nach unten verschieben
KL

Herzlichen Dank an Franz, Hary und Jürgen für die schnelle Reaktion.
Franz, Deine Vorarbeit war ausgezeichnet, nach der kleinen Anpassung wie vorgeschlagen, funktioniert das jetzt so, wie ich es mir vorgestellt hatte.
Nochmals an Alle Danke für die Hilfe!
KL List
Anzeige
AW: Zeilen nach unten verschieben
01.09.2008 16:44:00
Hary
Hallo Kl
Was mir in diesem Forum beigebracht wurde: keine verbundenen Zellen. Dann wirds schwierig.
Hier ein Code. Sobald etwas in Zelle A1 eingetragen wird und der Focus raus geht dann wird eine Zeile darueber eingefuegt. Kannst Du auf einer leeren Mappe ausprobieren.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not IsNumeric(Cells(1, 1)) Then
Rows("1:1").Select
Selection.Insert Shift:=xlDown
End If
End Sub


Gruss Hary

AW: Zeilen nach unten verschieben
01.09.2008 17:14:00
fcs
Hallo KL List,
https://www.herber.de/bbs/user/55091.xls
Hier deine Datei mit einem kleine Beispiel Makro.
Das Einfügen einer Leerzeile erfolgt nicht "automatisch" sondern nach Klick auf den Button.
Dazu wird die Zeile 7 kopiert, und vor Zeile 8 eingefügt. Danach werden in Zeile 7 die Inhalte in den Eingabezellen gelöscht.
Vorsicht beim Einbau von Formeln. Hierzu muss der Kopiervorgang ggf. angepasst werden. Meine Beispielformel für die Spalte "Stand" harmoniert mit dem programmierten Kopiervorgang.
Gruß
Franz
Alternatives Makro, das nach dem Einfügen der Leerzeile die Zeile 8 in die Zeile 7 kopiert, um die Formeln zu übernehmen.

Sub NeueEingabeZeile()
'neue Eingabezeile in Zeile 7 einfügen
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
'Leerzeile einfügen
.Rows(7).Insert shift:=xlShiftDown
'Zeile 8 nach zeile 7 kopieren
.Rows(8).Copy Destination:=.Rows(7)
'Inhalte in Eingabezellen Zeile 7 löschen
.Range(.Cells(7, 3), .Cells(7, 6)).ClearContents 'Spalten C bis F
.Cells(7, 8).ClearContents 'Spalten G
'neue Zeilennummer Spalte A Zeile 7 eintragen
.Range(.Cells(7, 3), .Cells(7, 6)).ClearContents 'Spalten C bis F
.Cells(7, 1).Value = Application.WorksheetFunction.Max(.Range(.Cells(8, 1), _
.Cells(.Rows.Count, 1).End(xlUp))) + 1
End With
End Sub


Anzeige
AW: Zeilen nach unten verschieben
01.09.2008 19:56:00
KL
Herzlichen Dank an Franz, Hary und Jürgen für die schnelle Reaktion.
Franz, Deine Vorarbeit war ausgezeichnet, nach der kleinen Anpassung wie vorgeschlagen, funktioniert das jetzt so, wie ich es mir vorgestellt hatte.
Nochmals an Alle Danke für die Hilfe!
KL List

127 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige