Neue Zeile einfügen + Formeln übernehmen
#1
Moin zusammen,

ich wollte mal wieder in die Runde fragen, ob ihr einen guten VBA Tipp habt :)

Und zwar möchte ich einfach nur einen Button in Zelle A1 platzieren, der mir eine neue Zeile unterhalb der markierten Zelle einfügt und dabei alle Formeln aller Zellen, der darüber liegenden Zeile übernimmt...

Bisher habe ich das hier versucht:

Code:
ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(1).EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
Application.CutCopyMode = False

Hier werden aber die Formeln nicht mit übernommen, was mache ich da falsch?

Danke euch und viele Grüße!
Top
#2
Moin!
Warum VBA?
Wandel Deine Liste in eine "intelligente Tabelle mittels Strg+t um.
Wenn Du jetzt direkt darunter weiter schreibst, werden Formate und Formeln übernommen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#3
Moin,

bei meiner Tabelle ist es aber erforderlich, dass zwischendurch immer mal wieder neue Zeilen hinzukommen müssen und nicht nur unterhalb der letzten Zeile ...

Viele Grüße
Top
#4
Macht doch nix!
Benutze die rechte Maustaste und "Zeile/Spalte einfügen"
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#5
Ok, ginge auch, finde ich aber nicht ganz so elegant vor allem, weil die Tabelle immer ihre eigene Formatierung hat.

Also ich würde es auch rein vom Verständnis her gerne mit VBA verstehen und umsetzen ;)
Top
#6
"Thou shalt not build a macro for something that Excel already does."
Jake Lohse

Aus https://www.mrexcel.com/excel-tips/i-use...soft-word/.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#7
Ok, habe ich auch verstanden.
Aber wo liegt denn nun der Fehler in meinen paar Zeilen VBA? :)
Top
#8
Überlege, was jeweils .Offset(1) bewirkt.

Vom Handy, Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#9
(12.07.2020, 12:47)xlsxvba schrieb: Aber wo liegt denn nun der Fehler in meinen paar Zeilen VBA? :)

Hallo, :19:

in der zweiten Codezeile: :21:

Code:
ActiveCell.Offset(1).EntireRow.Copy

Du kopierst da eine leere Zeile - nämlich die eingefügte Zeile (auf Grund des Offset).

Schreibe es so:

Code:
ActiveCell.EntireRow.Copy
Top
#10
Danke Dir :)
Das hatte ich aber auch schon probiert.

Dann werden aber auch Werte mit kopiert ...

VG
Top


Gehe zu:


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