Excel bringt mich nochmal um.. Ich habe in meiner Tabelle einen Blattschutz eingefügt, damit die anderen Personen, die auch mit der Liste arbeiten, die Formeln in den Spalten nicht ausversehen zerschießen. Jedoch muss die intelligente Tabelle erweitert werden können (durch neue Bauteile). Ohne Blattschutz wird automatisch die Tabelle erweitert und die Formeln der Zelle darüber kopiert (sehr gut!). Nur mit Blattschutz kann ich die Tabelle gar nicht erweitern:( Gibt es hier einen "Workaround"?
Wenn der Blattschutz stört, muss man ihn eben vor den Änderungen abschalten und dann wieder anschalten. Es gibt auch die Option "Interface=true" (oder so ähnlich) die Änderungen per VBA zulässt.
Anbei mein Versuch den Blattschutz abzuschalten (mit OpenOffice sind Änderungen sofort möglich): Wenn es eine Fehlermeldung bei Laden gibt, einfach wegklicken, speichern und nochmals laden.
Im VBA-Projekt sind keine zusätzlichen Codes eingefügt.
anbei ein kurzer knapper Code von mir wie er bei Microsoft läuft. Bei Libre Ofice weiss ich nicht ... Der Vorteil, man braucht bei MS -kein- Passwort. Das Blatt wird trotzdem geschützt.
mfg Gast 123
Code:
'Blattschutz -ohne Passwort- Sub Blattschutz_ON() ActiveSheet.Protect End Sub
Sub Blattschutz_OFF() ActiveSheet.Unprotect End Sub
ja, aber das bewirkt ja nicht, dass ich die intelligente Tabelle nach unten erweitern kann. Was ich mir aber vorstellen könnte, dass man über einen Button den Blattschutz kurz aufhebt, automatisch die intelligente Tabelle um eine Zeile erweitert wird, und dann der Blattschutz wieder aktiv wird. Da stellt sich nur die Frage, wie eine weitere Zeile ganz unten hinzugefügt werden kann.
ich habe viel ausprobiert, jedoch habe ich es nicht hinbekommen:( Ich habe ein Makro mit folgendem Inhalt erzeugt:
Code:
Sub Add() Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlDown).Select Selection.End(xlUp).Select ActiveSheet.ListObjects("PriceList").ListRows.Add AlwaysInsert:=True End Sub
D.h. er soll automatisch ans Ende der Tabelle springen (das habe ich wahrscheinlich viel zu umständlich gemacht) und dann eine neue Zeile einfügen. Jedoch erhalte ich dann die Fehlermeldung:
Tabellenfunktionen sind nicht verfügbar, weil das Blatt geschützt ist.
15.08.2018, 11:00 (Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2018, 11:00 von ExcelNeuling99.)
Das ist ein guter Tip!
Ich habe nun ein Makro erstellt mit dem ich zuerst den Blattschutz entferne, dann eine ZEile einfügen lassen und danach den Blattschutz wieder aktiviere. Das funktioniert gut!