Automatisch Zeile Zwischen zwei Tabellen einfügen

jgruber

Newbie
Registriert
Juni 2017
Beiträge
5
Hi!

Ich habe folgerndes Excel-Problem: Ich möchte gerne eine Liste im Excel haben wo ich meine aktuellen Projekte drin habe und jeweils die zu erledigenden Punkte - an sich kein Probem ;)

Ich Projekte stehen untereinander und ich möchte gerne , dass dazwischen immer eine Zeile frei ist in die ich eine neue Aufgabe eingeben kann und immer händisch Zeilen einfügen ist mir zu umständlich. Also wenn in der z.B. in A-C5 (Anhang) ein Wert eingefügt wird automatisch diue Tabelle um eine Zeile größer wird und die untenstehende eins runterrückt.

Wie kann es lösen?

Vielen Dank für eure Hilfe!

Jakob
 

Anhänge

  • Projekte.xlsx
    10,8 KB · Aufrufe: 256
Mit VBA, Makro auf Tastenkürzel zuweisen und gut


Sub ZeileEinfügen()

Dim Zeile
Zeile = Selection.Row()
Rows(Zeile).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub


Unter die Zeile, die du ausgewählt hast, kommt dann ne neue
 
Füge das als Makro in dein Tabellenblatt ein (Alt + F11 -> Doppelklick auf dein Tabellenblatt).

Bei einer Änderung nur in der letzten Zeile einer Tabelle wird eine neue Zeile darunter eingefügt
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not ActiveCell.ListObject Is Nothing Then 'Prüft ob sich die aktive Zelle in einer Tabelle befindet'

  Target.Offset(0, 0).Select 'Nach Eingabetaste nicht in nächste Zeile wechseln (sonst landet man ggf. außerhalb der Tabelle)'

  Application.EnableEvents = False 'verhindern, dass sich Change-Event selbst aufruft nachdem die Zeile eingefügt wurde'

  iTableHeader = Selection.ListObject.HeaderRowRange.Row 'Zeile mit Tabellenüberschriften'
  iTablerows = Selection.ListObject.ListRows.Count 'Anzahl Tabellenzeilen (ohne Überschriften)'

  If Target.Row = iTableHeader + iTablerows Then 'prüfen, ob die aktuelle Änderung in der letzten Tabellenzeile war'
   Selection.ListObject.ListRows.Add AlwaysInsert:=True 'neue Zeile unten einfügen'
  End If

Application.EnableEvents = True

End If

End Sub
 
Zurück
Oben