WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Software (http://www.wcm.at/forum/forumdisplay.php?f=5)
-   -   Excel Zellen sperren, abhängig von Eingabe (http://www.wcm.at/forum/showthread.php?t=151788)

T.dot 30.11.2004 13:03

Excel Zellen sperren, abhängig von Eingabe
 
Servus!

Ich google zwar schon, hab aber noch nix passendes gefunden.

Ganz einfach: Ich hab drei Felder, sobald in einem Feld ein Wert eingegeben wurde, soll in den anderen Feldern die Eingabe gesperrt sein.

mfg Thomas

T.dot 30.11.2004 15:35

machen wirs einfacher ;)

Google spuckst meist das aus [VBA]
Code:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("d9")) Is Nothing Then
  ActiveSheet.Unprotect Password:="geheim"
  ActiveSheet.Range("d10").Locked = True
  ActiveSheet.Protect Password:="geheim"
End If

End Sub

- Funktion wird aufgerufen
- if wird aufgerufen
- Passwort stimmt
- Sperrung wird aufgehoben und wieder gesetzt

aber: die Zelle ist nicht gesperrt.

irgendjemand ne Ahnung?

mfg Thomas

frazzz 30.11.2004 15:40

if blabla != NULL

then
...

else if
...




:D

T.dot 30.11.2004 15:52

und was willst du mir damit sagen? wie ifs funktionieren weiß ich grad noch. :rolleyes:

ich hab nur das problem das diese Zeile:
ActiveSheet.Range("d10").Locked = True
nichts tut.

mfg

wbendl 30.11.2004 21:16

Hi!

Irgenwo im Hinterkopf hab ich noch eine Erinnerung an Excel.
Wenn ich mich richtig erinnere, dann sind Zellen nur dann gesperrt, wenn auch das Blatt geschützt ist.

Das könnte auch bei neueren Versionen von Excel noch zutreffen.

mfg

WB

pc.net 30.11.2004 21:22

Zitat:

Original geschrieben von wbendl
Hi!

Irgenwo im Hinterkopf hab ich noch eine Erinnerung an Excel.
Wenn ich mich richtig erinnere, dann sind Zellen nur dann gesperrt, wenn auch das Blatt geschützt ist.

Das könnte auch bei neueren Versionen von Excel noch zutreffen.

mfg

WB

ist auch bei excel 2k und xp noch so ...

T.dot 01.12.2004 10:13

dachte das mach ich mit:
ActiveSheet.Protect Password:="geheim"

Grundsätzlich sind eh nur die drei Felder wo eingegeben werden kann freigegeben, der Rest vom Blatt ist gesperrt.

Wenn ich jetz:
ActiveSheet.Unprotect Password:="geheim"
ActiveSheet.Range("d10").Locked = True
ActiveSheet.Protect Password:="geheim"

mach, sind auch alle anderen Felder die vorher gespert waren gesperrt, aber mein .range("d10").locked macht nix.

mfg Thomas

Shadow 01.12.2004 10:31

Komisch bei meinem Excel funktioniert das.

Vielleicht hast du in dem Moment wo die Funktion aufgerufen wird ein anderes "ActiveSheet". Sonst kann ich mir keine Erklärung vorstellen.

T.dot 02.12.2004 23:08

Interessanterweise funktioniert nur in dieser Excel Datei nicht, an den Sheets liegts auch nicht.

Naja, ich habs jetz anders gelöst, ich sperr halt die Felder nicht, sondern mach in einem anderen Feld eine Fehlermeldung - wenn der User zu dumm ist, diese zu lesen, Pech gehabt.

Dadurch vermeid ich auch, das bei Makro deaktivieren nimmer geht ;)

mfg Thomas


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag