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 Melde mich Morgen im laufe des Tages wieder Gehe jetzt Schlafen muss Morgen...“
Optionen

Hallo Alfonso,

In der "Musterzeile", die Zelle in Spalte A Sperren und die Muster- Zeile mit einer Hintergrundfarbe versehen, das sollte das unbeabsichtigte Einfügen in der Musterzeile verhindern.

Die zusätzliche Makrozeile einfügen, sie entfernt wieder den kopierten Zell- Schutz, in der eingefügten Zeile in der Spalte A.

Die Zelle in Spalte A der Musterzeile wird auch noch überprüft, ob sie Leer ist, dann wird das Makro ausgeführt.

das geänderte Makro:
****************************************************************************************

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 Letzte Muster - Datenzeile in Spalte ? (5)
' "Spaltenangabe Bitte Anpassen"

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.

' ********************* ÄNDERN ************************
If Range("A" & (MaxDatenZeile)) > "" And Range("A" & (MaxDatenZeile) + 1) = "" Then
' ********************* ÄNDERN ************************

' Blattschutz entfernen "passwort" bitte anpassen innerhalb " ".
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


' ****************** EINFÜGEN *********************
' Zelle in Spalte A der neuen Eingabezeile Freigeben
Range("A" & (MaxDatenZeile)).Locked = False
' ****************** EINFÜGEN *********************


' nächste Eingabezelle Aktivieren nach Zeile Kopieren,
' Spalte Bitte anpassen .......Range("B" ........,
' die Zelle darf nicht geschützt sein.
Range("B" & (MaxDatenZeile) - 1).Select

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

' ****************** EINFÜGEN *********************
Else
' ****************** EINFÜGEN *********************

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