Clever-Excel-Forum

Normale Version: Intelligente Tabelle und Blattschutz
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

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"?

Vielen Dank für die Hilfe!!
Hallo,

dein Büro ist in Rüsselheim?

Aber als ernstere Antwort:

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.

mfg
gelöscht Confused :22: :05:

Hallo ExcelNeuling

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
Hallo,

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.
Moin!
Schau mal hier, da gibt es Futter für Manipulationen von Tables:
https://www.thespreadsheetguru.com/blog/...cel-tables

Ziemlich weit unten:
ActiveSheet.ListObjects("Table1").ListRows.Add AlwaysInsert:= True

Gruß Ralf
Hallo,

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.


Weiß jemand Rat?
Danke!
Hallöchen,

Du kannst auch gleich vom Blattende an das Tabellenende springen, wenn dazwischen nix steht.

Cells(Rows.Count,1).End(Xlup)…


Allerdings sollte Dir Deine Codezeile zum Einfügen einer Zeile

ActiveSheet.ListObjects("Tabelle1").ListRows.Add AlwaysInsert:=True


selbige am Ende einfügen, egal, welche Zelle markiert ist. Schon mal probiert?
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!

Code:
ActiveSheet.Unprotect
ActiveSheet.ListObjects("Tabelle1").ListRows.add AlwaysInsert:=True
ActiveSheet.Protect UserInterfaceOnly:=True, _
DrawingObjects:=True, Contents:=True, Scenarios:=True, _
AllowFormattingCells:=True, AllowFormattingRows:=True, _
AllowInsertingRows:=True, AllowDeletingRows:=True, _
AllowFiltering:=True, AllowSorting:=True, _
Password:=""

Was müsste ich tun, wenn automatisch zur eingefügten Zeile gesprungen werden soll (sonst merkt man nicht, dass eine Zeile eingefügt wurde)?
Danke!
Hallöchen,

wie ich schon schrieb z.B. von ganz unten

Cells(Rows.Count,1).End(Xlup)…

Ansonsten geht das auch direkter, im Prinzip z.B.

ActiveSheet.ListObjects("Table1").ListRows(ActiveSheet.ListObjects("Table1").ListRows.Count).Range.Select

ActiveSheet.ListObjects("Table1").DataBodyRange(ActiveSheet.ListObjects("Table1").ListRows.Count, 1).Select
Seiten: 1 2