Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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

ich wollte mal wieder in die Runde fragen, ob ihr einen guten VBA Tipp habtSmile

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!
Antwortento 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)
Antwortento 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
Antwortento 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)
Antwortento 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 ;)
Antwortento 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!
... shift-del
Hinweise zu meiner Hilfe in Foren
Excel Super-Funktionen: VERWEIS(), INDEX(), WAHL()
Antwortento top
#7
Ok, habe ich auch verstanden.
Aber wo liegt denn nun der Fehler in meinen paar Zeilen VBA?Smile
Antwortento 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)
Antwortento top
#9
(12.07.2020, 11:47)xlsxvba schrieb: Aber wo liegt denn nun der Fehler in meinen paar Zeilen VBA?Smile

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
________
Servus
Case
Antwortento top
#10
Danke DirSmile
Das hatte ich aber auch schon probiert.

Dann werden aber auch Werte mit kopiert ...

VG
Antwortento top


Gehe zu:


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