VBA - Zellschutz aktivieren, wenn in einer anderen Zelle ein bestimmter Wert steht
#11
Smile 
Hallo,

danke erst mal für deine Mühe.  :28:

Ich muss jetzt offline gehen, komme aber morgen früh wieder online und erkläre es dann noch einmal genauer.

Bis dann.
Top
#12
[
Bild bitte so als Datei hochladen: Klick mich!
]
Also ich versuch es mal etwas klarer zu formulieren:

1. es gibt 5 Prüfungsteilnehmer
2. es sind nur 3 schriftliche Prüfungsfächer (Deutsch - Mathe - Erdkunde) Prüfling 1 D6:F6   Prüfling 2 D7:F7 ....... Prüfling 5 D10:F10
3. die Mathenoten werden automatisch gezogen vom Tabellenblatt Mathe_Gesamtnote (daher steht da bereits eine 6, da in der Auswertung für Mathe ja noch keine Punkte hinterlegt sind) Prüfling 1 E6   Prüfling 2 E7 ....... Prüfling 5 E10
4. die Auswertung für Mathe in den anderen Tabellenblättern wird zuerst vorgenommen somit stehen die Noten in Mathe automatisch per Formel schon drinnen
5. die Noten für Deutsch (D6:D10) und Erdkunde (F6:F10) werden nacheinander "per Hand" eingetragen
6. Die Noten werden Prüfling für Prüfling eingetragen
7. In den Zulassungsspalten ist derzeit ein z. eingetragen (da ja nur die Mathenoten bisher drinnen stehen)
8. Wenn dann für Prüfling 1 in D6 die Deutschnote und in F6 die Erdkundenote eingetragen wird, wir in den Zellen G6:I6 die Zulassung ausgewertet, hat er bspw. Deutsch 5, Mathe 3, Erdkunde 5, ändern sich die Werte in G6:I6 auf n.z., da ja mehr als die Hälfte der schriftlichen Arbeiten schlechter als ausreichend bewertet sind.
9. Es wäre schön, wenn das Makro zeilenweise startet, also nach dem die Noten in den Zellen D:F stehen.

Ich hoffe das war etwas klarer
Top
#13
Hi,

(08.06.2016, 12:15)Naddus0207 schrieb: 9. Es wäre schön, wenn das Makro zeilenweise startet, also nach dem die Noten in den Zellen D:F stehen.

Ich hoffe das war etwas klarer

ja, wobei ich jetzt immer noch eher zwei Buttons einfügen und dann auf Knopfdruck für alle 5 Schüler die Auswertung machen und das Blatt schützen würde.

Warum hast Du bei der Formel in Spalte Q zwei Mal drin stehen: UND(M6>4;N6>=4;O6>=4;P6>=4);"nicht bestanden";
Bei Deiner Formel in Spalte G - I sind Fehler drin: dort steht "n.z" anstatt "n.z."
Ich gehe davon aus, daß bei "n.z." immer alle drei Spalten G-I ein "n.z." erhalten.

Also füge mal zwei Buttons ein, einen zum Sperren und einen zum Entsperren und weise denen die folgenden Makros zu:
Option Explicit

Sub Zellen_sperren_Blattschutz_setzen()
  '
  ' Zellen_sperren_Blattschutz_setzen Makro
  '
  Dim loZeile As Long
  Dim i As Integer
  '
 
  For i = 6 To 10
     If Range("G" & i) = "n.z." Then
'         loZeile = ActiveCell.Row
        ActiveSheet.Unprotect Password:="xxx"
        With Range("J" & i & ":L" & i)
           .Locked = True
           .FormulaHidden = False
           With .Interior
              .Pattern = xlLightUp
              .PatternColorIndex = xlAutomatic
              .Color = 14479851
              .TintAndShade = 0
              .PatternTintAndShade = 0
           End With
        End With
     End If
  Next i
  ActiveSheet.Protect Password:="xxx"
  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
  ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

Sub Zellen_entsperren_Blattschutz_aufheben()
  '
  ' Zellen_entsperren_Blattschutz_aufheben Makro
  '
  Dim loZeile As Long
  Dim i As Integer
  '
 
  For i = 6 To 10
'      loZeile = ActiveCell.Row
     ActiveSheet.Unprotect Password:="xxx"
     With Range("J" & i & ":L" & i)
        .Locked = False
        .FormulaHidden = False
        With .Interior
           .Pattern = xlNone
           .TintAndShade = 0
           .PatternTintAndShade = 0
           .Pattern = xlSolid
           .PatternColorIndex = xlAutomatic
           .Color = 14479851
           .TintAndShade = 0
           .PatternTintAndShade = 0
        End With
     End With
  Next i
 
End Sub
Top


Gehe zu:


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