Clever-Excel-Forum

Normale Version: VBA Zeile einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hi,

also ich habe Deinen Button mal getestet und die bedingte Formatierung wird bei mir mit übernommen.

Gruß
@ Klaus-Dieter

und da wären wir wieder bei den Vorgaben, die ich habe...

Trotzdem Danke für Deine Hilfe.

@Sintergott

sofern das Blatt nicht geschützt ist, geht es.. aber sobald der Schutz drauf liegt nicht mehr..

Nimm mal das Wort "Free" aus D2 (das hält die Tabelle offen).. dann wird die bedingte Formatierungnicht mehr übernommen :(
Hallo,


Zitat:und da wären wir wieder bei den Vorgaben, die ich habe...


wer macht denn solch unsinnige Vorgaben? Diese vielen durchformatierten Seiten sind alle Überflüssig, davon braucht man genau eine, dort werden dann die Daten, die zu festgelegten Vorgaben passen, aus einer Gesamtlichte dargestellt. Die Gesamtliste ist ein Datenblatt, in dem alles einfach der Reihe nach gelistet wird.
Hmmm,
tut mir leid, aber die bedingte Formatierung wird trotzdem übernommen.
@ Klaus-Dieter

ich werd bestimmt nicht anfangen, mit meinem Vorstand zu diskutieren.

Die wollen das so... und die Kollegin, die das pflegt kennt das in dieser (Grund-)Form auch, so dass hier lange Erklärungen ebenfalls wegfallen.

Irgendwann Ende 22/Anfang 23 wird das in ein CMS integriert, dann kann das anders dargestellt werden und wird anders (automatisch) erfasst... bis dahin ist
es wie es ist.  Undecided

@ Sintergott

Übrigens hab ich grad gesehen, dass ich in der Test-Tabelle bereits ein anderes Script im Einsatz hatte:
Code:
Sub AddRows()
ActiveSheet.Unprotect Password:="Test"
With Selection.Cells(1, 1).EntireRow
.Copy
.Offset(1).Insert Shift:=xlDown
End With
Application.CutCopyMode = False
If [d2].Value = "Free" Then Exit Sub
ActiveSheet.Protect Password:="Test"
End Sub
Aber damit gehts auch nicht... bei aktivem Blattschutz

@ Sintergott

wirf mal einen Blick auf Spalte F.

dort ist eingestellt, dass gleiche Seriennummern markiert werden... und genau das macht er nicht, bei der einfügten Zeile :(
hALLO

ich habe mir die Datei auch noch mal angesehen, konnte den geschilderten Fehler aber nicht finden!  Bei mir funktioniert es auch ohne "Free" Text.
Dafür fiel mir ein anderer komischer Effekt auf, den ich nicht erklären kann. Beim testen stürzte das Makro zweimal ab, hing sich unwiderruflich auf!
Erkennbar daran das der CutCopyMode noch sichtbar war, und ich konnte KEINE Zelle mehr anklicken! Musste die Datei schliessen und neu öffnen!

Dieser geänderte Code fügt jetzt nicht mehr eine ganze Zeile ein, das könnte die Intelligente Tabelle vielleicht stören???  Nur den Bereich von Spalte A-M
Vorteil ist, man muss nicht mehr vorher die ganze Zeile markieren, der Bereich wird direkt ab der aktiven Zeile neu eingefügt. Vielleicht klappt das besser?

mfg  Gast 123

Code:
Sub AddRows()
On Error GoTo Fehler
ActiveSheet.Unprotect Password:="Test"
Selection.EntireRow.Select
With Cells(Selection.Row, 1).Resize(1, 13)
.Copy
.Offset(1).Insert Shift:=xlDown
End With
Fehler:  'bei Fehler weitermachen
Application.CutCopyMode = False
If [d2].Value = "Free" Then Exit Sub
ActiveSheet.Protect Password:="Test"
If Err > 0 Then MsgBox "Fehler aufgetreten"
End Sub

Nachtrag    Die Idee von Klaus-Dieter alles auf ein Blatt zu sammeln wäre sicher vorteilhafter.  Anmerkung:  ich sehe keine Button mehr um Zeilen anzuspringen ...
Hi Gast123

ich hab "mein" Script mal mit Deinem getauscht...

aktiver Blattschutz und inaktiver Blattschutz:
einfügen funktioniert... wie mit dem anderen Script auch

aber... sehr merkwürdiger Effekt... die bedingte Formatierung ändert sich in jeder 2ten Zeile, was vorher nicht war :( ... un in der eingefügten Zeile funktioniert in Spalte F die bedingte Formatierung nicht mehr.

Komisch...

Übrigens... Abstürzte hab ich gar nicht :( (aktuellste Excel-Version, Microsoft 365 Apps für Business)
Hallo

Schade Schade ....  da bin ich mit meinem Latein leider mal richtig am Ende!  Kann den Effekt technisch nicht erklären ....
Wenn der alte Code besser läuft sollte man beim alten Code bleiben.  Aberr auch hier kann ich Ungereimtheiten nicht erklären.

Schaut man sich den alten Code an, so wird das Blatt vor dem Zeile einfügen mit "Unprotect" IMMER entsperrt.
Warum es dann eine Rolle spielen soll ob in Zelle D2 "Free" steht oder nicht übersteigt mein Programmierer Wissen und Verständnis.
Sorry, da weiss ich im Augengblick echt mal nicht weiter.  Das passiert mir zum Glück sehr selten.  Muss mal drüber schlafen ....

Ich wünsche dir und den Forum Kollegen dafür ein frohes gesundes glückliches neues Jahr.

mfg Gast 123
OK,
die bedingte Formatierung wird definitiv mit übertragen, das Problem ist der Bereich auf den sie Anwendung findet wird wird neu definiert, sprich der Vergleich für doppelte Werte bezieht sich nur auf die neue Zelle und funktioniert deshalb nicht. Ich weiß nicht ob es eine Möglichkeit gibt, die automatische Fixierung (die $-Zeichen) beim "Bereich", auszuschalten.
Das kann mir uns aber sicher jemand hier beantworten!
Hi Gast123

tatsächlich bin ich zu dem "Free" gekommen, weil, sobald ich irgendwo hingeklickt habe, die Tabelle wieder gesperrt war... das "Free" schützt mich hier.

Soweit so gut... aber dass die bedingte formatierung nicht übernommen wird, sobald der Blattschutz drin ist bzw. sich die bedingte Formatierung derart ändert, obwohl
ja immer bei einer Änderung im Script entsperrt wird, macht mich wahnsinnig.
Seiten: 1 2 3