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 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!
Antworten 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)
Antworten 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
Antworten 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)
Antworten 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 ;)
Antworten 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.

Antworten Top
#7
Ok, habe ich auch verstanden.
Aber wo liegt denn nun der Fehler in meinen paar Zeilen VBA? :)
Antworten 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)
Antworten Top
#9
(12.07.2020, 11: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
________
Servus
Case
Antworten Top
#10
Danke Dir :)
Das hatte ich aber auch schon probiert.

Dann werden aber auch Werte mit kopiert ...

VG
Antworten Top


Gehe zu:


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