Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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

Zeile per Makro in weiteres Tabellenblatt einfügen

Zeile per Makro in weiteres Tabellenblatt einfügen
30.08.2019 08:44:42
gelee93
Hallo Zusammen,
ich brauche dringend Hilfe.
ich habe ein Hauptblatt, bei dem ich alle Daten Eintrage. Auf dem nächsten TabellenBlatt (7_1) ist meine Auswertung, die mit Formeln hinterlegt ist.
Ich habe es soweit, dass wenn ich im ersten Tabellenblatt eine Zeile einfüge, er in der Auswertung an gleicher Stelle eine Zeile einfügt. Jetzt soll er die Formeln von der Zeile oberhalb in die leere Zeile einfügen.
Mein VBA-Code ist:

Sub NeueZeile()
Dim Zl As Long
Zl = ActiveCell.Row
ActiveCell.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
With Sheets(" 7_1")
.Cells(Zl + 9, 1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
End Sub

Ich verschiebe die Zeilen um 9, da der Tabellenkopf etwas anders aussieht bei den beiden Blättern.
Besten Dank im vorraus, und beste Grüße,
Gelee93

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile per Makro in weiteres Tabellenblatt einfügen
30.08.2019 09:26:17
GerdL
Moin! (Hier sind Vornamen üblich)
Sub NeueZeile()
Dim Zl As Long
Zl = ActiveCell.Row
ActiveCell.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
With Sheets(" 7_1")
.Cells(Zl + 9, 1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
For Each Zelle In .Range(.Cells(Zl + 8, 1), .Cells(Zl + 8, .Columns.Count).End(xlToLeft))
If Zelle.HasFormula Then
Zelle.Copy
Zelle.Offset(1, 0).PasteSpecial xlPasteFormulas
End If
Next
Application.CutCopyMode = False
End With
End Sub

Gruß Gerd
AW: Zeile per Makro in weiteres Tabellenblatt einfügen
30.08.2019 10:23:42
gelee93
Danke Gerd,
das klappt schon mal super. Nun noch die frage, ich habe mehrere Tabellenblätter für die Auswertung, ist es möglich es zu beschreiben, dass dieses Makro auf alle Blätter außer auf 2 angewendet werden soll, oder muss ich das für jedes Blatt definieren?
Und mir ist gerade noch aufgefallen, dass ich bei dem Hauptblatt in der Spalte AA die Summe aus den Spalten F:X ausgebe, dass kann man doch bestimmt auch in dem Makro schon vordefinieren.
Besten Dank und Gruß,
Jelle (jetzt mit Vornamen ;-))
Anzeige
AW: Zeile per Makro in weiteres Tabellenblatt einfügen
30.08.2019 13:39:31
GerdL
Hallo Jelle,
ich bin für eine positive Prüfung der relevanten Auswertungstabellen.
Irgendetwas wird schon als Kriterium geeignet sein.
Sub NeueZeile()
Dim Zl As Long, Sh As Object
Zl = ActiveCell.Row
ActiveCell.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(Zl, 27).Formula = "=SUM(" & Range("F" & Zl & ":X" & Zl).Address & ")" 'Summenformel  _
einfügen
For Each Sh In ActiveWorkbook.Sheets
With Sh
If Sh.Cells(1, 1) = "Überschrift1" Then ' bearbeite alle Blätter mit diesem Wert in A1 , _
ggf. anpassen
.Cells(Zl + 9, 1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
For Each Zelle In .Range(.Cells(Zl + 8, 1), .Cells(Zl + 8, .Columns.Count).End(xlToLeft))
If Zelle.HasFormula Then
Zelle.Copy
Zelle.Offset(1, 0).PasteSpecial xlPasteFormulas
End If
Application.CutCopyMode = False
Next
End If
End With
Next
End Sub
Gruß Gerd
Anzeige
AW: Zeile per Makro in weiteres Tabellenblatt einfügen
02.09.2019 08:04:17
gelee93
Hallo Gerd,
die Abfrage in A1 finde ich gut. Das klappt auch super.
Jetzt habe ich nur das Problem mit den kopierten Zeilen, ich bin davon ausgegangen, dass die Formeln sich anpassen, d.h. in der zu kopierenden Zeile steht =A4, dann soll in der neuen Zeile =A5 stehen. Dieses ist leider nicht so. Ist das auch möglich, dass die kopierten Zeilen sich so anpassen?
Beste Grüße,
Jelle
AW: Zeile per Makro in weiteres Tabellenblatt einfügen
03.09.2019 01:35:45
Piet
Hallo Jelle
wie sehen deine Formeln aus? Hast du Absolute oder Relative Adressierung? Absolute bleibt immer konstant!!
Das erkennst du in der Formel am $ Zeichen wie z.B: - =SUMME($J$2:$J$100) - Da bleibt die Formel beim verschiebn bestehen!
Wenn du die Zeile verschieben willst musst du die $ Zeichen vor der Zeile entfernen! Bei Spalten Verschiebung vor der Spalte.
mfg Piet
Anzeige
AW: Zeile per Makro in weiteres Tabellenblatt einfügen
03.09.2019 15:13:30
gelee93
Hallo Piet,
nein das war nicht das Problem, das Problem war die Anordnung der Tabellenblätter. Nur auf dem ersten Tabellenblatt hatte es nicht gestimmt, da es auf Daten zugegriffen hat, welche noch nicht existiert haben. Da sie noch nicht eingefügt wurden durch das Makro. Jetzt passt alles.
Beste Grüße,
Jelle

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige