Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1900to1904
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Autofill genau eine Zeile nach unten

Autofill genau eine Zeile nach unten
26.09.2022 14:37:55
Blaupolanski
Hallo, ich habe mich an einem Makro versucht was genau folgendes tun soll:
Gehe in die letzte Zeile (anhand Spalte A)
Füge eine neue Zeile hinzu
Kopiere die Formeln von Spalte AR bis einschließlich AY in die neu hinzugefügte Zeile
Ich habe es auch schon FAST soweit, bis auf das Autofill, ich verstehe einfach nicht was ich da in Destination angeben soll damit es genau in die Zeile darunter markiert.
Ich habe mir in den letzten 2 Stunden sämtliche Beträge dazu durchgelesen, leider krieg ichs nicht zum laufen.....
Hier der Code soweit mal:

Sub Zeilen_hinzufügen()
Application.ScreenUpdating = False
Range("A2").Select               'Los zu Zelle A2
Selection.End(xlDown).Select    'Ganz runter in die Liste
ActiveCell.Offset(1, 0).Select   '1x runter
Rows(ActiveCell.Row).Select     'Wähle die Reihe der aktiven Zelle an
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 'hinzufügen einer neuen Reihe
ActiveCell.Offset(-1, 43).Select   '1x hoch und 43x rechts also zu Zelle AR
Range(Selection, Selection.End(xlToRight)).Select 'Markieren Shift hier bis Zelle AY
Selection.AutoFill Destination:=Range(..... 'Hier will ich genau eine Zeile nach unten kopieren
Application.ScreenUpdating = True
End Sub
Kann mir da jemand auf die Sprünge helfen?
Beste Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofill genau eine Zeile nach unten
26.09.2022 15:14:31
ChrisL
Hi
Z.B.

Sub t()
Dim letzteZeile As Long, letzteSpalte As Long
With ActiveSheet
letzteZeile = .Range("A2").End(xlDown).Row
letzteSpalte = .Cells(letzteZeile, 44).End(xlToRight).Column
With .Range(.Cells(letzteZeile, 44), .Cells(letzteZeile, letzteSpalte))
.Offset(1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.AutoFill Destination:=.Resize(2, .Columns.Count)
End With
End With
End Sub
cu
Chris
AW: Autofill genau eine Zeile nach unten
26.09.2022 15:26:58
Blaupolanski
Hey Chris,
perfekt, funktioniert genau wie es soll.
Besten Dank dir!
AW: Autofill genau eine Zeile nach unten
29.09.2022 15:08:54
Blaupolanski
Ich würde die Frage vom Montag gerne nochmal aufgreifen,
das was Chris mir geantwortet hat funktioniert, genau wie erwartet. Nun kam noch in meiner Tabelle hinzu dass ich die Formel aus Spalte "M" auch noch runterkopiert benötige, ich habe versucht das Makro von Chris zu erweitern und zwar so:
Dim letzteZeile As Long, letzteSpalte As Long, Ort As Long
Sub t()
With ActiveSheet
letzteZeile = .Range("A2").End(xlDown).Row
letzteSpalte = .Cells(letzteZeile, 44).End(xlToRight).Column
SpalteM = .Range("M2").End(xlDown).Row
With .Range(.Cells(letzteZeile, 13), .Cells(letzteZeile, SpalteM))
.Offset(1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.AutoFill Destination:=.Resize(2, .Columns.Count)
End With
With .Range(.Cells(letzteZeile, 44), .Cells(letzteZeile, letzteSpalte))
.Offset(1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.AutoFill Destination:=.Resize(2, .Columns.Count)
End With
End With
Leider kopiert mir das Programm hier auch alle weiteren Spalten rechts von "M". Kann mir jemand sagen was ich da am Code ändern muss, sodass nur Spalte M runterkopiert wird?
Besten Dank.
Anzeige
AW: Autofill genau eine Zeile nach unten
29.09.2022 17:12:32
ChrisL
Hi
SpalteM sollte nicht mit Row (Zeile) gemischt werden.
Bei der Gelegenheit habe ich mich gefragt, ob du eigentlich die ganze Zeile schieben möchtest (habe Insert jetzt auf EntireRow geändert).

With ActiveSheet
letzteZeile = .Range("A2").End(xlDown).Row
letzteSpalte = .Cells(letzteZeile, 44).End(xlToRight).Column
With .Cells(letzteZeile, 13)
.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.AutoFill Destination:=.Resize(2, .Columns.Count)
End With
With .Range(.Cells(letzteZeile, 44), .Cells(letzteZeile, letzteSpalte))
.AutoFill Destination:=.Resize(2, .Columns.Count)
End With
End With
cu
Chris
Anzeige
AW: Autofill genau eine Zeile nach unten
30.09.2022 08:09:25
Blaupolanski
Ja genau so hab ich das angedacht.
Hast mir wieder einmal sehr weitergeholfen!
Vielen Dank!
AW: Autofill genau eine Zeile nach unten
26.09.2022 15:40:03
Daniel
Hi
stehen darunter noch Daten oder ist die Tabelle leer?
bei leerer Tabelle würde folgendes reichen

with Cells(Rows.count, 1).end(xlup)
.EntireRow.copy .offset(1, 0) '--- alles eine zeile nach unten kopieren
.EntireRow.Offset(1, 0).SpecialCells(xlcelltypeconstants).Clear.Contents '--- fixe inhalte löschen.
End with
fixe inhalte sollten aber vorhanden sein, ansonsten gibts nen Fehler, den man aber so abfangen könnte:

with Cells(Rows.count, 1).end(xlup)
.EntireRow.copy .offset(1, 0) '--- alles eine zeile nach unten kopieren
On Error Resume next
.EntireRow.Offset(1, 0).SpecialCells(xlcelltypeconstants).Clear.Contents '--- fixe inhalte löschen.
On Error Goto 0
End with
Eine frage wäre aber, ob es in der Datei Formeln gibt, die auf den Zellbereich referenzieren und mitbekommen müssen, dass dieser erweitert wird. Bei dem oben gezeigten Code passiert das nicht. Wenn das passieren soll, darfst du die neue Zeile nicht am Ende einfügen, sondern irgendwo zwischen der ersten und letzten Zeile.
Aber vielleicht reicht es ja aus, wenn du den Bereich als TABELLE formatierst (Einfügen - Tabelle - Tabelle).
dann passiert das alles automatisch, wenn du die Tabelle am ende weiterschreibst.
Gruß Daniel
Anzeige
AW: Laufzeitfehler
26.09.2022 15:55:37
GerdL
fixe inhalte sollten aber vorhanden sein, ansonsten gibts nen Fehler, den man aber so abfangen könnte:
Nein, der Code erzeugt ohne Zellen mit Inhalt dann trotz Fehlerbehandlung den LZF 1004 "Keine Zellen gefunden."
Gruß Gerd

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige