Office - Word, Excel und Co. 9.744 Themen, 41.408 Beiträge

EXCEL Zeile automatisch einfügen

Vanesilv / 28 Antworten / Flachansicht Nickles

Hi
Nochmals zum mein Problem

Ich habe eine Artikelliste die Dauernd erweitert wird
In dieser Liste sind Verknüpfungen zu einer anderen Liste
Z.B. In A1 gebe ich die Artikelnummer ein
In A2 erscheint der Artikel der mittels SVERWEIS erzeugt wird bzw. Zusätzlich weitere Zellen in denen weitre Daten eingetragen werden
Nun möchte ich das wenn ich in der Letzen Zeile anfange zu schreiben oder fertig bin
Eine neue Zeile mit allen Formeln und den Rahmenlinie der Vorhergehende Zeile ohne den eingaben die ich gemacht habe eingefügt wird
Wer kann mir helfen

Gruß Alfonso

bei Antwort benachrichtigen
hddiesel Vanesilv „HI Also dein Code Funktionier einwandfrei Hätte da ein Vorschlag damit in der...“
Optionen

Hallo Alfonso,

Musterzeile geschützt, in der neuen Eingabezeile,
den Zellschutz in der Spalte A, B, D wieder entfernt.
Kannst das Makro auch auf deine Bedürfnisse anpassen,
deshalb die vielen REM - Zeilen mit Kommentar im Makro.

Einfach mal testen.
****************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaxDatenZeile As Integer
Dim SuchSpalte As Integer

' Die Tabelle sollte in den 2 Letzten Zeilen nur Formeln und gewünschte Rahmen haben.
' Die letzte Zeile dient als Musterzeile mit Formeln und wird vom Makro Kopiert!
' Letzte Muster - Zeile mit Formeln bitte färben,
' um aus versehen keine Einträge vorzunehmen,
' ebenso mit den gewünschten Rahmen versehen,

' Garantierter Formel - Eintrag in der Muster - Datenzeile in Spalte ? (5)
' "Spaltenangabe Bitte anpassen", denn diese Zelle darf nicht leer sein.

SuchSpalte = 5

' Muster - Datenzeile ermitteln.
MaxDatenZeile = ActiveSheet.Cells(Rows.Count, (SuchSpalte)).End(xlUp).Row

' (Minus 1 ist Letzte Leere Dateneingabezeile)
MaxDatenZeile = MaxDatenZeile - 1

' Wenn in Spalte A der letzten Eingabezeile (Zeile oberhalb der Musterzeile),
' ein Eintrag vorgenommen wird, wird die Musterzeile Kopiert,
' so daß wieder eine Eingabezeile zur Verfügung steht.

If Range("A" & (MaxDatenZeile)) > "" And Range("A" & (MaxDatenZeile) + 1) = "" Then

' Blattschutz entfernen
On Error Resume Next
ActiveSheet.Unprotect "passwort"

' Then von oben ausführen
MaxDatenZeile = MaxDatenZeile + 1

' Letzte Leere Dateneingabezeile mit Formatierung Auswählen und Kopieren
Rows((MaxDatenZeile) & ":" & (MaxDatenZeile)).Select
Selection.Copy

' Fügt die Kopierte Zeile in das Arbeitsblatt ein und verschiebt die Musterzeile nach unten,
' so paßen sich die Formel Automatisch an.
Selection.Insert Shift:=xlDown

' Rahmen von Kopiemarkierung löschen
Application.CutCopyMode = False

' Eingabe- Zeile Entfärben
Selection.Interior.ColorIndex = xlNone

' Zelle in Spalte A, B, D, der neuen Eingabezeile den Zellschutz entfernen
Range("A" & (MaxDatenZeile)).Locked = False
Range("B" & (MaxDatenZeile)).Locked = False
Range("D" & (MaxDatenZeile)).Locked = False

' Eingabezelle nach dem Zeilen Kopieren Aktivieren
Range("B" & (MaxDatenZeile) - 1).Select

' Blattschutz setzen
On Error Resume Next
ActiveSheet.Protect "passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True

Else
End If
End Sub

Windows 10 Pro 64-Bit, 22H2: MS Office Pro Plus 2016 32-Bit: Mein Motto: Leben und leben lassen: Gruss Karl
bei Antwort benachrichtigen