Grund: Ich möchte mit Hilfe der Formel ein Zufalls-Paßwort erzeugen, das sich in der Tabelle nicht mehr verändern darf.
Zelle markieren, Bearbeiten - Kopieren, Bearbeiten - Inhalte einfügen - Option "Werte"
Gruß aus dem Land der Bayern
Peter
habe auch Dateien in die viele Personen Eigaben machen sollen, aber nichts in den Formeln u.s.w. verändern sollen. Nach einigen leidigen Erfahrungen habe ich mir mit den Makros unten geholfen. Das "Schutzmakro" wird immer aktiv, wenn die eingebenden Personen ein anderes Makro starten (call). Das Funktioniert aber nur solange bis einer einen Passwortcracker gefunden hat, bzw über Makroaufruf das "Unprotect" findet.
Sub Unprotect()
Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
PW = Worksheets("Tabelle1").Range("A1").Value 'Password auslesen
Dim wks As Worksheet
For Each wks In Worksheets
wks.Unprotect password = PW 'Blattschutz aufheben
Next wks
Application.ScreenUpdating = True 'Bildschirmaktualisierung ein
End Sub
Sub ZufallsPW()
Dim Wert1, Wert2, Klein, Groß
Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
Klein = 96 'Zusatz für Schriftzeichen a=97
Groß = 64 'Zusatz für Schriftzeichen A=65
Randomize ' Zufallszahlengenerator initialisieren.
Wert1 = Int((26 * Rnd) + 1) ' Zufallszahlen im Bereich von 1 bis 26
Wert2 = Chr(Wert1 + Klein)
Wert1 = Int((26 * Rnd) + 1)
Wert2 = Wert2 & Chr(Wert1 + Groß)
Wert1 = Int((26 * Rnd) + 1)
Wert2 = Wert2 & Chr(Wert1 + Klein)
Wert1 = Int((26 * Rnd) + 1)
Wert2 = Wert2 & Chr(Wert1 + Groß)
Wert1 = Int((26 * Rnd) + 1)
Wert2 = Wert2 & Chr(Wert1 + Klein)
Wert1 = Int((10 * Rnd) + 1)
Wert2 = Wert2 & Right(Wert1, 1) 'Zahl
Worksheets("Tabelle1").Range("A1").FormulaR1C1 = Wert2 'Zahl zurückschreiben
Dim wks As Worksheet
For Each wks In Worksheets
wks.Protect password = Wert2 'Blätter schützen
Next wks
Application.ScreenUpdating = True 'Bildschirmaktualisierung ein
End Sub
ist nicht in allen Teilen professionell gemacht, funktioniert aber bei mir.
Grüße Manfred