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
Office - Word, Excel und Co. 9.753 Themen, 41.597 Beiträge
Hi,
wie wäre es denn, wenn Du zu meinen Lösungsvorschlägen aus dem ersten Thread erstmal etwas schreibst?
Gruß Fetzo
Hi
Leider kann ich mit dem was du mir geschrieben hast nicht anfangen
Da ich keine Ahnung habe wie die formell geschrieben wird
Wäre hilfreicher gewesen diese dazu zuschreiben
Gruß Alfonso
Hi,
dann teile doch mal Deine Tabellenstruktur mit. Dann kann man auch bessere Antworten geben. Aber einfach Antworten ignorieren & einen neuen Thread aufmachen ist auch nicht der Sinn der Sache ...
Gruß Fetzo
Hi Fetzo
Zu meinen ersten Thread war ein Fehler von mir habe nicht mehr daran gedacht im ersten Thread weiter zu machen
Nun zum mein Problem
Die Tabelle sieht etwa so aus
IN A1 wird die Artikelnummer eingegeben,
In B1 und allen anderen Zellen Erscheint der Der Artikel und zusatzinfos mittels SVERWEIS,
in C1 Das Gewicht,
in D1 die Menge
Nun möchte ich nicht jedes Mal eine neue Zeile per hand Kopieren oder mehrere Zeilen auf einmal sondern möchte das dies automatisch Geschieht
Auch sollten Alle Formatierungen und Rahmen mit Kopiert werden, ohne Die Eingaben die gemacht wurden
Ich benötige eure Hilfe weil ich mich mit VBA oder Formeln nicht auskenne
Gruß Alfonso
Hallo Alfonso,
hier einmal ein Beispielmakro, bitte mit einer Kopie deiner Tabelle testen, nicht mit dem Original.
Beschreibung im Makro!
Rechtsklick unten auf den Tabellenreiter, in welcher das Makro angewendet werden soll und Code anzeigen wählen, in die Rechte Fensterhälfte den Makrocode einfügen und Testen.
Makro wirkt nur in der eingefügten Tabelle, nicht in der ganzen Arbeitsmappe.
*****************************************************************************************
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,
' Musterzeile wird nach dem Einfügen vom Makro wieder entfärbt.
' Garantierter Formel - Eintrag in Letzte Muster - Datenzeile in Spalte ? (SuchSpalte =???)
' "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.
If Range("A" & (MaxDatenZeile)) > "" Then
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
' Kopierte Eingabe- Zeile, aus Musterzeile entfärben
Selection.Interior.ColorIndex = xlNone
' nach Eingabe in der Spalte A der letzten Eingabezeile, Zelle in Spalte B Aktivieren
Range("B" & (MaxDatenZeile) - 1).Select
End If
End Sub
HI
Dein Code scheint zu Funktionieren bis auf eine Kleinigkeit
Wenn ich in der letzten Zeile was eingebe wird eine Endlos schleife erzeugt und die Zeile auf das Ganze Tabellenplatt Kopiert
Des Weiteren müsste das ganze auch mit aktiviertem Blattschutz Funktionieren
Gruß Alfonso
Hallo Alfonso,
hast du "SuchSpalte = 5" angepaßt auf eine Formel in der Musterzeile?
Laut deiner Beschreibung wurde die Zeile nicht angepasst und weist auf eine leere Zelle in der Musterzeile
Am Ende deiner Tabelle, müssen 2 Leere Zeilen (nur mit Formeln) sein,
die Letzte Zeile als Muster, die vorletzte Zeile als Eingabezeile,
wenn in der letzten Eingabezeile vor der Musterzeile die Zelle in Spalte A beschrieben wird,
wird die Musterzeile kopiert.
Makro mit Blattschutz!
**********************************************************************
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.
If Range("A" & (MaxDatenZeile)) > "" Then
' 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
' 1. Eingabezelle Aktivieren
Range("B" & (MaxDatenZeile) - 1).Select
' Blattschutz setzen "passwort" bitte anpassen innerhalb " ".
On Error Resume Next
ActiveSheet.Protect "passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
Hallo Alfonso,
Habe bei der Korrektur das Zeitlimit für die Bearbeitung überschritten!
NACHTRAG:
Im Makro ist ein Hinweis falsch!
' 1. Eingabezelle Aktivieren
Den Hinweis Bitte ändern in
' nächste Eingabezelle Aktivieren nach Zeile Kopieren,
' Spalte Bitte anpassen .......Range("B" ........,
' die Zelle darf nicht geschützt sein.
HI
Dein Makro Funktioniert aber das Problem besteht immer noch
Die Suchspalte war auch richtig hatte eine Formel in der 5 Spalte zum testen habe es auch in mit 3 spalte Probiert
Die Formel Funktioniert bis auf diese endlos Schleife wenn versehendlich in der Letzen Zeile ein Eintrag gemacht wird und dieser nicht gelöcht wird,danach in der vorletzten Zeile ein Eintrag getätigt wird
Gruß Alfonso
HI
Melde mich Morgen im laufe des Tages wieder
Gehe jetzt Schlafen muss Morgen Arbeiten
Gruß Alfonso
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
HI
Also dein Code Funktionier einwandfrei
Hätte da ein Vorschlag damit in der Letzten Zeile kein Eintrag versehendlich gemacht wird da sonst keine neue Zeile erzeugt wird.
Wie währe es wenn in der Letzten Zeile der Zellschutz aktiviert wäre und erst nachträglich nach dem Kopieren in vorher bestimmten Zellen deaktiviert würde
Z.B.
A1 Deaktiviert,
B1 Deaktiviert,
C1 Aktiv,
D1 Deaktiviert
E1 Aktiv
Usw.
Melde mich im laufe des Tages wieder muss weg
Gruß Alfonso
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
HI hddiesel
Großen Dank für dieses Programm
Das Programm funktioniert ganz gut werde es jetzt einsetzen und weiter Testen
Habe eine bitte noch
Da ich dieses Makro wahrscheinlich in einer anderen Tabelle noch einsetzen kann in der Laufend neue Artikel hinzukommen währe es von Vorteil wenn statt einer Zeile 10 neue Zeilen zur Verfügung stehen würden
Das Programm sollte so bleiben wie es ist nur mit der Änderung das wen ich in der vorletzten Zeile was Reinschreibe Statt einer 10 weitere Leere Zeilen generiert werden
Gruß Alfonso
Hallo Alfonso,
hier die gewünschte Erweiterung, 10 Zeilen, statt einer Zeilen einfügen:
3 Zeilen im Makro eingefügt.
********************************************************************************
Dim i As Integer
For i = 1 To 10 ' Folgende Schritte bis "Next i" 10 mal Wiederholen ( = 10 Zeilen einfügen)
Next i ' Schritte bis Hier, 10 mal Wiederholen ( = 10 Zeilen einfügen)
*********************************************************************************
*********************************************************************************
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaxDatenZeile As Integer
Dim SuchSpalte As Integer
Dim i 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.
If Range("A" & (MaxDatenZeile)) > "" And Range("A" & (MaxDatenZeile) + 1) = "" Then
' Blattschutz entfernen
On Error Resume Next
ActiveSheet.Unprotect "passwort"
For i = 1 To 10 ' Folgende Schritte bis "Next i" 10 mal Wiederholen ( = 10 Zeilen einfügen)
' 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) - 10).Select
Next i ' Schritte bis Hier, 10 mal Wiederholen ( = 10 Zeilen einfügen)
' Blattschutz setzen
On Error Resume Next
ActiveSheet.Protect "passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
End If
End Sub
HI hddiesel
Echt spitze
Also kaum zu glauben das so schnell ging
Ich bedanke mich bei dir noch mal die Hilfe
Ich denk ich bin fertig sollte ich noch was haben werde ich mich wieder melden
Ansonsten schönen Abend noch
Gruß Alfonso
Hallo Alfonso,
es besteht noch die Möglichkeit, in einer Tabelle eine Gesamtsumme, direkt unterhalb der Musterzeile zu bilden,
dafür müßte das Makro in der entsprechenden Tabelle angepasst werden,
die aktualisierte Gesamtsumme wird dann immer unterhalb der Musterzeile stehen.
******************************************************
******************************************************
' Garantierter Formel - Eintrag in Letzte Muster - Datenzeile in Spalte ? (5)
' "Spaltenangabe Bitte Anpassen"
SuchSpalte = 5 'sollte dann auf die Gesamtsumme unterhalb der Musterzeile weisen
******************************************************
' (Minus 1 ist Letzte Leere Dateneingabezeile)
MaxDatenZeile = MaxDatenZeile - 1 ' sollte bei einer Gesamtsumme auf " MaxDatenZeile = MaxDatenZeile - 2 " geändert werden
******************************************************
******************************************************
Dann wünsche ich dir noch viel Spaß mit dem Makro!
Hi
Danke für den Zusätzlichen Tipp werde sehen ob ich in einsetzen kann
Gruß Alfonso
HI hddiesel
Benötigen nochmals deine hilfe zu diesem Thema
Habe dein Makro in einer anderen Datei angewendet Funktioniert auch gut bis auf den Schreibschutz der Zellen. in der andere Datei hate iich nur einzelen Zellen da wurde der Schreibschutz endfernt
Bei der neuen Fungktioniter dies nicht des sich um mehrere Verbundene Zellen handelt
hoffe kanst mier helfen
gruß Alfonso
Hallo Alfonso,
Teste einmal folgendes, ist nur ein Beispiel "C:D:E" musst du an deine Tabelle anpassen:
Betrifft aber nur die verbundenen Zellen, nicht die nicht verbundenen Zellen, wie gehabt.
Statt so (Gültig nur bei nicht verbundenen Zellen):
Range("C" & (MaxDatenZeile)).Locked = False ' Einzelzellen entsperren
Range("D" & (MaxDatenZeile)).Locked = False ' Einzelzellen entsperren
Range("E" & (MaxDatenZeile)).Locked = False ' Einzelzellen entsperren
So (bei einem Block Verbundenen Zellen), hast du mehrere Blocks dieser Art, dann diese unter einander aufführen:
Range("C:D:E" & (MaxDatenZeile)).Locked = False ' Verbundene Zellen entsperren
Hi hddiesel
habe deinen Tipp ausprobiert leider ohne erfolg
gruß Alfonso
Hallo Alfonso,
ein kurzes Beispiel:
A = EinzelSpalte in Zeile entsperren
B = EinzelSpalte in Zeile entsperren
E,F,G = 1. VerbundeneSpalten in Zeile entsperren
I = EinzelSpalte in Zeile entsperren
K,L,M = 2. VerbundeneSpalten entsperren in Zeile entsperren
Diese Zeilen ersetzen die vorhandenen im Makro, welche den Zellschutz entfernen:
Range("A" & (MaxDatenZeile)).Locked = False ' Einzelzellen entsperren
Range("B" & (MaxDatenZeile)).Locked = False ' Einzelzellen entsperren
Range("E:F:G" & (MaxDatenZeile)).Locked = False ' Verbundene Zellen entsperren
Range("I" & (MaxDatenZeile)).Locked = False ' Einzelzellen entsperren
Range("K:L:M" & (MaxDatenZeile)).Locked = False ' Verbundene Zellen entsperren
Denke daran, immer eine Kopie der Datei zum Testen nehmen!!!
hallo hddiesel
habe es gemacht wie du es beschriebe hast
aber irgendwie funktioniert es nicht
Gruß Alfonso
Hallo Alfonso,
füge einmal dein Makro hier ein und eine Angabe der geschützten- und ungeschützten Spalten und Zellenverbindungen in den Spalten, werde mir das heute Abend einmal ansehen.
Hi hddiesel
Tut mir leit das ich dir damit Probleme bereite
also ich füge den Makro hier ein
würde auch gerne die Datei mit einfügen weiß aber nicht wie
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaxDatenZeile As Integer
Dim SuchSpalte As Integer
Dim i As Integer
SuchSpalte = 14
MaxDatenZeile = ActiveSheet.Cells(Rows.Count, (SuchSpalte)).End(xlUp).Row
MaxDatenZeile = MaxDatenZeile - 1
If Range("A" & (MaxDatenZeile)) > "" And Range("A" & (MaxDatenZeile) + 1) = "" Then
On Error Resume Next
ActiveSheet.Unprotect "passwort"
For i = 1 To 10
MaxDatenZeile = MaxDatenZeile + 1
Rows((MaxDatenZeile) & ":" & (MaxDatenZeile)).Select
Selection.Copy
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
Selection.Interior.ColorIndex = xlNone
Range("A" & (MaxDatenZeile)).Locked = False
Range("B" & (MaxDatenZeile)).Locked = False
Range("C:D:E:F:G:H:I:J" & (MaxDatenZeile)).Locked = False
Range("K:L" & (MaxDatenZeile)).Locked = False
Range("M" & (MaxDatenZeile)).Locked = False
Range("B" & (MaxDatenZeile) - 10).Select
Next i
On Error Resume Next
ActiveSheet.Protect "passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
End If
End Sub
gruß Alfonso
Hallo Alfonso,
Sorry, hatte sich ein Denkfehler eingeschlichen, so konnte das nicht gehen.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaxDatenZeile As Integer
Dim SuchSpalte As Integer
Dim i As Integer
SuchSpalte = 14
MaxDatenZeile = ActiveSheet.Cells(Rows.Count, (SuchSpalte)).End(xlUp).Row
MaxDatenZeile = MaxDatenZeile - 1
If Range("A" & (MaxDatenZeile)) > "" And Range("A" & (MaxDatenZeile) + 1) = "" Then
On Error Resume Next
ActiveSheet.Unprotect "passwort"
For i = 1 To 10
MaxDatenZeile = MaxDatenZeile + 1
Rows((MaxDatenZeile) & ":" & (MaxDatenZeile)).Select
Selection.Copy
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
Selection.Interior.ColorIndex = xlNone
Range("A" & (MaxDatenZeile)).Locked = False
Range("B" & (MaxDatenZeile)).Locked = False
Range("C" & (MaxDatenZeile), "J" & (MaxDatenZeile)).Locked = False
Range("K" & (MaxDatenZeile), "L" & (MaxDatenZeile)).Locked = False
Range("M" & (MaxDatenZeile)).Locked = False
Range("B" & (MaxDatenZeile) - 10).Select
Next i
On Error Resume Next
ActiveSheet.Protect "passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
End If
End Sub
Hi hddiesel
habe den Neuen Code übernommen und es Funktioniert gut
Ich denke das war’s mal wieder
Sollte wieder was sein melde ich mich wieder
Ansonsten nochmals vielen Dank für die arbeit und geduld
Gruß Alfonso
Hallo Alfonso,
Danke für die Info!
Wünsche dir ein schönes Wochenende!