Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Wenn Schriftfarbe rot dann Zelle gesperrt

Frage Microsoft Microsoft Office

Mitglied: Asterix2

Asterix2 (Level 1) - Jetzt verbinden

08.01.2013 um 11:38 Uhr, 2745 Aufrufe, 7 Kommentare

Hallo,
nach x Stunden Google Suche wende ich mich an euch. Eigentlich ist mein Problem schnell erklärt.

Wenn die Schriftfarbe in einer Zelle rot ist, so soll diese gesperrt sein. Das war es dann eigentlich auch schon.
Ich hoffe ihr habt eine Lösung für mich. Das IE kennt keine.
Gruß Asterix2
Mitglied: 106543
08.01.2013, aktualisiert um 12:14 Uhr
Hallo,

hast du es schon mit VBS probiert ?
hier ein kleiner Code-Schnipsel, der dir vll. weiterhilft
01.
Sub Workbook_Open 
02.
if (Zelle.Font.ColorIndex = 3) 
03.
then 
04.
05.
[Sperrbefehl fällt mir leider grade nicht ein] 
06.
07.
end if 
08.
End Sub
Sorry kanns grade nicht richtig ausrobieren von daher keine Garantie auf Funktion

Grüße
Exze
Bitte warten ..
Mitglied: Asterix2
08.01.2013 um 12:55 Uhr
Hallo Exze
klappt leider nicht. Hab es mal so probiert:
Sub Workbook_Open()
If (Zelle.Font.ColorIndex = 3) Then
.Cells.Locked = True
End If
End Sub
Fehlermeldung: Unzulässiger oder nicht ausreichend definierter Verweis.
Gruß Asterix2
Bitte warten ..
Mitglied: colinardo
08.01.2013, aktualisiert um 13:03 Uhr
So einfach wie Exzellius das schreibt ist es aber nicht.
Folgender Code reagiert sobald das aktive Blatt neu berechnet wird. Dann musst du noch festlegen in welchem Zellen-Bereich du die Sperrung anwenden möchtest [Code-Zeile 4] (Einfach auf alle Zellen anwenden wäre overkill und würde die Anwendung extrem verlangsamen).
Danach prüft das Script die Zelle auf die Farbe Rot. Wenn diese Rot ist muss überprüft werden ob das aktuelle Blatt gerade geschützt ist, sonst kann der Code am Blatt nichts ändern. Ist es geschützt wird für die Änderung der Sperrung kurz der Blattschutz aufgehoben und danach wieder gesetzt. Der Methode Protect können mehrere Optionen angehängt werden, je nachdem was man bei geschütztem Blatt den Benutzern noch erlauben möchte. Die Optionen dafür kannst du mit einem testweise aufgenommenen Makro herausfinden.

01.
Private Sub Worksheet_Calculate() 
02.
Dim a As Range 
03.
Dim c As Range 
04.
Set a = ActiveSheet.Range("A1:B2") 
05.
For Each c In a.Cells 
06.
     If c.Font.ColorIndex = 3 Then 
07.
        If ActiveSheet.ProtectionMode = False Then 
08.
            c.Locked = True 
09.
            ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True 
10.
        Else 
11.
            ActiveSheet.Unprotect 
12.
            c.Locked = True 
13.
            ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True 
14.
        End If 
15.
    End If 
16.
Next 
17.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: 106543
08.01.2013, aktualisiert um 13:11 Uhr
Zitat von Asterix2:
Hallo Exze
klappt leider nicht. Hab es mal so probiert:
Sub Workbook_Open()
If (Zelle.Font.ColorIndex = 3) Then
.Cells.Locked = True
End If
End Sub
Fehlermeldung: Unzulässiger oder nicht ausreichend definierter Verweis.
Gruß Asterix2

Hi,

ja kein Wunder das war ja nur ein Code-Schnipsel und kein fertig formatierter und ausgetesteter Code. Sollte nur einen kleinen Denkanstoß bieten
Was Colinardo geschrieben hat, scheint da schon eher ausgereift, bzw. kann da der Code natürlich auch nicht einfach kopiert, sondern muss vorher noch angepasst werden

Grüße
Exze

EDIT: all unser Code richtet sich auf Microsoft Office Excel aus, wenn du da was anderes verwendest, musst du uns das sagen
Bitte warten ..
Mitglied: Asterix2
08.01.2013 um 13:21 Uhr
Hallo colinardo
Ich hab dein Code mal auf "Doppelklick gesetzt.
Leider sperrt er mir die ganze Tabelle.
Ich möchte aber nur die Zelle sperren, welche nach dem Doppelklick die Schriftfarbe auf rot ändert.
Private Sub Doppelklick()
Dim a As Range
Dim c As Range
Set a = ActiveSheet.Range("A1:B2")
For Each c In a.Cells
If c.Font.ColorIndex = 3 Then
If ActiveSheet.ProtectionMode = False Then
c.Locked = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True
Else
ActiveSheet.Unprotect
c.Locked = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True
End If
End If
Next
End Sub
Bitte warten ..
Mitglied: colinardo
08.01.2013, aktualisiert um 13:31 Uhr
Dann hast du das Prinzip Blattschutz noch nicht ganz verstanden. Du musst vorher bei den Zellen die der Benutzer bearbeiten können soll, in den Zelleigenschaften (STRG-1) auf dem letzten Tab den Schutz der Zelle deaktivieren...
Bitte warten ..
Mitglied: Asterix2
08.01.2013 um 13:30 Uhr
Ganz ehrlich, Jepp. Hab mich mal ganz kurz damit beschäftigt. Ich gebe dir recht.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 10
Problem: einzige Konto gesperrt + Bitlocker aktiv (14)

Frage von Windows11 zum Thema Windows 10 ...

LAN, WAN, Wireless
Cisco AccessPoint 1131 - Status LED Red Radio LED blinkt rot (9)

Frage von 1x1speed zum Thema LAN, WAN, Wireless ...

Netzwerkprotokolle
Nachsehen ob Ports generell gesperrt sind (2)

Frage von staybb zum Thema Netzwerkprotokolle ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...