Registriert seit: 14.09.2015
Version(en): 2013
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!
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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)
Registriert seit: 14.09.2015
Version(en): 2013
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
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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)
Registriert seit: 14.09.2015
Version(en): 2013
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 ;)
Registriert seit: 12.04.2014
Version(en): Office 365
"Thou shalt not build a macro for something that Excel already does."
Jake LohseAus
https://www.mrexcel.com/excel-tips/i-use...soft-word/.
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 14.09.2015
Version(en): 2013
Ok, habe ich auch verstanden.
Aber wo liegt denn nun der Fehler in meinen paar Zeilen VBA? :)
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Ü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)
00202
Nicht registrierter Gast
(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
Registriert seit: 14.09.2015
Version(en): 2013
Danke Dir :)
Das hatte ich aber auch schon probiert.
Dann werden aber auch Werte mit kopiert ...
VG