Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spalten sortieren mit Blattschutz
#21
Hi,


Zitat:Wenn du noch an anderen Stellen im Code das Blatt automtisch sperrst kannst du diesen Befehl VOR ActiveSheet.Protect setzen. 
      If [d2].Value = "Free" Then Exit Sub          Das nennt man sich seinen eigenen Code basteln, darin hast du Übung ...
      ActiveSheet.Protect Password:="TEST"

Das funktioniert nicht...

Ich habe das bei allen Scripten eingebaut, welche auf das Umschalten reagiert haben... überall dort (z.B. Schaltflächen), wo keine Reaktion erfolgte hab ich es so gelassen.

Aber die Tabelle sperrt sich schon, wenn ich in ein ungesperrtes Feld klicke... Confused

Das Sheet sollte sich aber generell entsperren lassen.. allein schon, wenn ich mal was dran machen muss... die "Free"-Idee würd ich gern beibehalten, weil ich die cool finde ;)
Gruß

ItsME
Antworten Top
#22
Hallöchen,

Zitat:Aber die Tabelle sperrt sich schon, wenn ich in ein ungesperrtes Feld klicke...

dann hast Du in einem SelectionChange - Makro das Prüfen mit dem Exit Sub nicht drin.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#23
Verzichte auf:

- Verbundene Zellen
- Protection
- verborgene Spalten
- Arbeitsblätter onhe benützte Zelle A1
- Splittung gleichartige Daten in separate Arbeitsblätter/ Dateien
- überflüssige 'Controls': z.B. verwende PgUp/PgDn zum scrollen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#24
@[b]schauan[/b]

ah, verstehe.. dann muss das nicht nur bei den Scripten rein, die direkt auf die Sperre reagieren, sondern in alle.. verstehe.. probier ich aus ;9
Danke :)

@snb

dann hätte die Tabelle leider keinen Sinn mehr :(
Gruß

ItsME
Antworten Top
#25
Hi,
das hat leider nicht funktioniert :(
Gruß

ItsME
Antworten Top
#26
Hallo


Zitat:dann hast Du in einem SelectionChange - Makro das Prüfen mit dem Exit Sub nicht drin.


ihr habt beide Recht!  Richtig amüsant...    Das Prüfen ist drin, aber bei SelectionChange mit der falschen Zelle, mit [c2] statt [d2]
Beim Prüfen ob der Blattschutz funktioniert stellte ich einen weitaus schwerwiegenderen Fehler fest.  Er funktioniert NICHT!

Fas Problem liegt nicht am Code, sondern an der Tatsache das nach der Eingabe die befüllten Zellen nicht auf Cells.Loccked gesetzt werden! Im Klartext, sie sind nach wie vor für ein Überschreiben zugänglich. Das muss bitte noch im Code geändert werden!

Die Frage ist, ab welcher Zelle ist die Eingabe beendet, und soll dann die gerade bearbeitete Zeile komplett gesperrt werden?
Oder müssen noch Zellen frei bleiben, z.B. um nachträglich noch Bemerkungen oder Änderungen einfügen zu können?
Weil ich den Arbeitsablauf nicht kenne kann ich mich dazu nicht weiter äussern.

Die bereits ausgefüllten Zeilen müssten jetzt natürlich in allen Tabellen gesperrt werden. Ich denke mir dafür noch ein Makro aus.

mfg Gast 123
Antworten Top
#27
Hi Sir,


Zitat:Das Prüfen ist drin, aber bei SelectionChange mit der falschen Zelle, mit [c2] statt [d2]
DAS war der Fehler 22 


Ich hab das zig Mal durchgesehen.. aber hab das echt nicht gesehen... Mist  42

Jetzt passt alles... perfekt 18 

Um Dir aber die anderen Fragen trotzdem zu beantworten....

folgendes sollen standardmäßig beschreibar bleiben:

Die Spalten C, D, E, F, G, H, K, L und M unterhalb der jeweiligen Überschriften...

Die anderen Spalten sind entweder zur Orientierung (z.B. Zeilennummern) oder sind mit Formeln belegt (Spalte I, J)

Die bereits mit Musterdaten ausgefüllten Zellen sollen/dürfen nicht gesperrt sein, da diese u.U. noch nachträglich bearbeitet werden.

Aktuell ist es z.B. so, dass die Daten aus einer vorher exportierten csv-Tabelle kopiert und eingefügt werden... umständlich, schlecht und was weiss ich.. aber damit muss meine Kollegin leben  16 

Das ist auch der Grund, warum die Spalten benannt sind, wie sie benannt sind...

Dabei fällt mir ein... ein nettes Feature...

Wenn ich die Daten aus der csv einfüge, ist u.U. der Name unter "Partner" anders... z.B. mit Leerzeichen dahinter oder mit kpl. Firmierung etc.... 

Kann man eine Art optische Überwachung bauen, die alle Zellen rot färbt, wenn diese nicht mit der Liste auf dem Sheet "Daten -nicht ändern" übereinstimmt?

Dann würde man auf den ersten Blick sehen wo nachgearbeitet werden muss...

Also "=B5:B24" mit "='Daten-nicht ändern-'!H3:H202" und zeige mir die in rot, die anders sind...
Gruß

ItsME
Antworten Top
#28
Hallo

hier habe ich noch einen Code um befüllte Zellen zu sperren

mfg gast 1234

Code:
Option Explicit
Dim AC As Range, lz1 As Long, sp As Integer

Sub Zellen_audLocked_setzen()
    ActiveSheet.Unprotect Password:="Test"
    'LastZell + LastColumn ermitteln
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    '** Spalte Bemerkungen bleibt bei Column -1 frei!
    sp = Cells(3, 100).End(xlToLeft).Column - 1
    Application.ScreenUpdating = False

    'alle befüllten Zellen auf "Locked" setzen
    '** Spalte Bemerkungen bleibt bei Column -1 frei!
    For Each AC In Range("A5:A" & lz1)
        If AC.Value <> Empty Then
           AC.Resize(1, sp).Locked = True
           '** Spalte Lieferdatum wieder frei setzen!
           '** Bitte selbst ob Lieferdatum frei bleibt
           'AC.Offset(0, 7).Locked = False
        End If
    Next AC
    ActiveSheet.Protect Password:="Test"
End Sub
Antworten Top
#29
Hi,
ich hab das... um das meiner Kollegin zu zeigen... mal in den ersten Sheet eingepflegt... (hoffe, das war dort richtig)

War selbst neugierig, ob sie das so möchte... allerdings funktioniert es leider nicht :(

Denke aber.. wenn nicht, ist es nicht schlimm... das "Vergleichsfeature" würde ihr wohl mehr helfen... :(
Gruß

ItsME
Antworten Top
#30
Hallo

freut mich das wir die Tabelle jetzt soweit am laufen haben.  Das Makro kann man auf Locked für Spalte A+B umschreiben.
Bei bedingter Formatierung muss ich leider passen und die Kollegen um Hilfe bitten.  Bei dem Thema fehlt mir leider jedes Wissen, Erfahrung, Durchblick!

mfg  Gast 123

Code:
Sub Zellen_audLocked_setzen()
    ActiveSheet.Unprotect Password:="Test"
    'LastZell ermitteln
    lz1 = Cells(Rows.Count, 1).End(xlUp).Row
    Application.ScreenUpdating = False

    'alle befüllten Partner Zellen auf "Locked" setzen
    For Each AC In Range("A5:A" & lz1)
        If AC.Value <> "" Then AC.Resize(1, 2).Locked = True
    Next AC
    ActiveSheet.Protect Password:="Test"
End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste