Zeile automatisch einfügen via Makro
#1
Hallo Leute,

Ich bin am verzweifeln... Ich suche nach einer Möglichkeit bei meiner Erstellten Tabelle eine Funktion einzubauen, bei der eine Zeile unterhalb hinzufügen kann. 

Die neue Zeile sollte die gleiche Formatierung (Formeln) haben wie die oberhalb. 
Bsp. Meine Tabelle enthält verschiedene Berechnungsgänge in einer Zeile, sobald ich fertig bin sollte mittels Schaltfläche (Makro) die Tabelle unterhalb der fertigen Zeile mit den obigen Formeln erweitert werden.

Mit dem unteren Makro, erfolgt die automatische Eingabe immer wieder in der Zelle 18 :s

Sub Zeile_Einfügen()

'

' Makro2 Makro

'



'

    Rows("18:18").Select

    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

    Rows("17:17").Select

    Selection.Copy

    Range("A18").Select

    ActiveSheet.Paste

    Range("A21").Select

    Application.CutCopyMode = False
End Sub


Ich hoffe es ist einigermaßen verständlich.


Gruss

Adi
Top
#2
Hi,
mach aus deiner Tabelle eine intelligente Tabelle, dann brauchst du kein Makro, Excel schreibt die Tabelle automatisch fort. Wie es geht: such nach intelligente Tabelle.
Mit freundlichen Grüßen  :)
Michael
Top
#3
    Hallo Michael

Danke für deine rasche Antwort, mit der Intelligenten Tabelle würde es sicher auch funktionieren.... Jedoch will ich meine Erweiterung mit einer Schaltfläche lösen.

So sieht mein excel sheet aus : siehe Anhang

Also wenn ich auf Schaltfläche 1 Klicke sollte auf Zeile 19 die Werte (Formeln) oberhalb übernommen. Sodass ich Zeile für Zeile die Berechnungen zu ende führen kann. Wie du sehen kannst, werden am Schluss noch die Leistungen zusammen gezählt.

Gruss

Adrian
Top
#4
Hallo Adrian,

wenn die Aktionen beim Aufzeichnen des Makros schon falsch sind, wird es natürlich schwierig. Wink
Sub Zeile_Einfügen()
   Rows(18).Copy
   Rows(19).Insert
   Application.CutCopyMode = False
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • adi1992
Top
#5
Hallo Uwe

Ich wollte das Bild nur als Beispiel hochladen... Mit der Aktion:

Sub Zeile_Einfügen()
   Rows(18).Copy
   Rows(19).Insert
   Application.CutCopyMode = False
End Sub


wird nur die Zeile 18 auf der Zeile 19 eingefügt, wenn ich nochmals auf der Schaltfläche 1 klicke rutscht die Zeile 19 auf der Zeile 20. Jedoch will ich das die Zeile 18 immer unterhalb hinzugefügt wird. Also Zeile auf 19,20,21 usw beim betätigen der Schaltfläche 1.

Gruss

Adi
Top
#6
Hallo Adrian,

teste es mal damit:
Sub Zeile_Einfügen()
With Range("A18")
.EntireRow.Copy
.Offset(.CurrentRegion.Rows.Count).Insert
End With
Application.CutCopyMode = False
End Sub
Gruß Uwe
Top
#7
Wink 
Hallo Uwe

Perfekt es funktioniert. 

Dankee :19:
Top
#8
Hallo Adrian,

ich sah gerade, dass das Makro nicht ganz "sauber" ist. Falls es doch nicht so richtig läuft, teste mal folgendes:
Sub Zeile_Einfügen()
With Range("A18")
.EntireRow.Copy
.CurrentRegion.Cells(1).Offset(.CurrentRegion.Rows.Count).Insert
End With
Application.CutCopyMode = False
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • adi1992
Top
#9
Hallo Uwe

Hab's auch erst jetzt gemerkt. Aber jetzt erfolgt die Eingabe der Kopie von Zelle A18 auf Zelle A19 = Perfekte Lösung

Danke nochmals Uwe

Gruss

Adi
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste