Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1832to1836
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen sperren bei bestimmter bedingung

Zellen sperren bei bestimmter bedingung
19.06.2021 14:36:59
Udo
Ich habe folgendes Problem
Ich bin für mich eine tabelle am erstellen um meine monatliche stunden festzuhalten
Einige formel habe ich selbst hinbekommen, nur mit der zellensperrung habert es noch.
In spalte 1 werden mir über formeln die wochentage angegeben.
Ich möchte gerne das in den zellen wo "Sa" oder "so" enthalten ist die zelle darunter gesperrt wird. (f1 gleich "sa" dann soll F3 gesperrt sein)
Geht das mit VBA oder mit Datenüberprüfung oder per formel. Ich habe im netz einige hilfen gefunden, aber nichts passendes war dabei, oder ich bin zu dumm das zu verstehen.
Könnt ihr mir dabei helfen
Im Upload liegt die passende tabelle:
https://www.herber.de/bbs/user/146669.xlsm
danke im voraus

29
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 15:08:40
Beverly
Hi Udo,
gib bei der Gültigkeitsprüfung folgende Formel an:

=WOCHENTAG(F1;2)

GrußformelBeverly's Excel - Inn
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 15:46:18
Udo
Hallo Karin
Vielen Dank für deinen Tip. Leider funktioniert das nicht.
In meiner tabelle passiert nach der eingabe in der gültigkeitsprüfung gar nichts. die zellen wo darüber sa" oder "So" drin stehen bleiben weiter für eingabe geöffnet. es sollen die passenden zellen komplett gesperrt werden, damit keine eingabe mehr möglich ist (wie z.b. wenn ich in der zellenformatierung die zelle sperre, und danach im bereich Überprüfen den blattschutz aktiviere)
Mal sehen, vieleicht gibt es dafür noch eine andere lösung.
Trotzdem danke für deinen tip
Anzeige
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 15:55:13
Beverly
Hi Udo,
und WAS funktioniert nicht? Ich weiß ja nicht, WIE du meinen Vorschlag umgesetzt hast, aber bei mir klappt das völlig problemlos:

Stundenzettel
 FGHIJKL
1DiMiDoFrSaSoMo
2'1'2'3'4'5'6'7
35,005,005,005,00  5,00
4       

verwendete Formeln
Zelle Formel Bereich N/A
F1=DATUM(JAHR(AL2);MONAT(AL2);1)  
G1:L1=WENN(ISTFEHLER(WENN($F$1="";"";WENN(MONAT(F1+1)<>MONAT($F$1);"";F1+1)));"";WENN($F$1="";"";WENN(MONAT(F1+1)<>MONAT($F$1);"";F1+1)))  

Zahlenformate
Zelle Format Inhalt
F1 'TTT  44348
F3:I3, L3 '0,00  5
G1 'TTT  44349
H1 'TTT  44350
I1 'TTT  44351
J1 'TTT  44352
J3:K3 '0,00 
K1 'TTT  44353
L1 'TTT  44354
Zellen mit Format Standard werden nicht dargestellt

Daten, Gültigkeit  
Zelle Zulassen Daten Wert1 Wert2 Leere Zellen ignorieren Zellendropdown Titel Eingabe-meldung Eingabe-meldung Titel Fehler Fehler-meldung Typ Fehler-meldung Fehler- meldung anzeigen Eingabe- meldung anzeigen
F3Benutzerdefiniertgleich=WOCHENTAG(F1;2)<6     Falsch           Wochenende   StoppWahr   Wahr  
G3Benutzerdefiniertgleich=WOCHENTAG(G1;2)<6     Falsch           Wochenende   StoppWahr   Wahr  
H3Benutzerdefiniertgleich=WOCHENTAG(H1;2)<6     Falsch           Wochenende   StoppWahr   Wahr  
I3Benutzerdefiniertgleich=WOCHENTAG(I1;2)<6     Falsch           Wochenende   StoppWahr   Wahr  
J3Benutzerdefiniertgleich=WOCHENTAG(J1;2)<6     Falsch           Wochenende   StoppWahr   Wahr  
K3Benutzerdefiniertgleich=WOCHENTAG(K1;2)<6     Falsch           Wochenende   StoppWahr   Wahr  
L3Benutzerdefiniertgleich=WOCHENTAG(L1;2)<6     Falsch           Wochenende   StoppWahr   Wahr  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.20 einschl. 64 Bit



GrußformelBeverly's Excel - Inn
Anzeige
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 15:57:54
Herbert_Grom
Hallo Udo,
soll das nur für die Zeile 3 gelten?
Servus
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 16:08:58
Udo
Ja.
Aber wenn es möglich wäre ginge das auch für die zeilen 7 und 11, weil ich auch an anderen einsatzorten tätig bin.
Dank im voraus
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 16:13:15
Herbert_Grom
Hallo Udo (oder heißt du Detlef?),
ich habe es dir jetzt mal für die Zeilen 3, 7, 11 und 15 gemacht. Schau es dir mal an:
https://www.herber.de/bbs/user/146670.xlsm
Servus
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 16:36:54
Udo
Hallo.
Nein mein Name ist Udo.
Ich benutze immer mal wieder den Mail-Account von meinem Bruder, der heist detlef.
Aber jetzt zu meinem Problem.
Genau so wollte ich es haben. Ich musste nur noch die zelle f3 abändern, die wollte nicht so wie ich es wollte. Die brachte bei der eingabe eine fehlermeldung von der datenprüfung. Aber jetzt klappt es wie es sein soll.
Also nochmal, recht herzliche dank für deine hilfe.
Bis bald, und grüsse aus dem sonnigen Köln :-)
Anzeige
AW: Bitte sehr & danke für die Rückmeldung! owt
19.06.2021 16:56:18
Herbert_Grom
,,,
AW: Bitte sehr & danke für die Rückmeldung! owt
19.06.2021 17:16:17
Udo
Hallo Herbert.
Ich habe nochmal eine frage zu deinem VBA code.
Wenn ich in der tabelle oben einige zeilen hinzufügen möchte, wie muss ich den code dann abändern, damit er wieder funktioniert.
So wie du ihn mir geschickt hast klappt alles bestens, ich bin nur am überlegen oben noch einige Zeilen hinzuzufügen.
z.b. Firmenname, adresse und andere werte.
danke nochmals.
AW: Bitte sehr & danke für die Rückmeldung! owt
19.06.2021 17:26:08
Herbert_Grom
Und wo willst du die Zeilen einfügen, Über der Datumszeile, oder wo?
AW: Bitte sehr & danke für die Rückmeldung! owt
19.06.2021 17:27:15
Udo
Ja, über der datumszeile.
AW: Bitte sehr & danke für die Rückmeldung! owt
19.06.2021 17:54:07
Udo
Hallo Herbert, ich bins nochmal.
Ich bin doch nicht so dumm wie ich gedacht habe.
Sieh mal hier:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 15 Or Target.Row = 19 Or Target.Row = 23 Or Target.Row = 27 And Cells(13, Target.Column) > 1 Then
If Weekday(Cells(13, Target.Column), vbMonday) > 5 Then Target.Offset(, 1).Select
End If
End Sub
So sieht mein Code aus, und der klappt sogar wie bei dir.
D A N K E
Anzeige
AW: Bitte sehr & danke für die Rückmeldung! owt
20.06.2021 10:46:12
Herbert_Grom
Ja, aber nur so lange du oben nicht noch weitere Zeilen einfügst oder wieder löschst! Mein Code berechnet die zu verwendenden Zeilen. Schau es dir noch mal genau an.
Servus
AW: Bitte sehr & danke für die Rückmeldung! owt
20.06.2021 11:15:45
Udo
Hallo Herbert.
Danke für den neuen Tip.
So ist es natürlich noch besser.
Bei meiner änderung hätte ich jedesmal wenn ich zeilen hinzufügen würde den code ändern müssen.
Aber mit deinem neuen code ist alles viel besser.
Also nochmal danke für deine Hilfe.
Gruss
Anzeige
AW: Bitte sehr & danke für die Rückmeldung! owt
20.06.2021 11:18:13
Herbert_Grom
,,,
Lösung unabhängig von Tabellenposition
20.06.2021 15:01:35
Tabellenposition
Hi Udo,
du kannst den Code ganz unabhängig davon machen, in welcher Zeile oder Spalte deine Tabelle beginnt, wenn sie IMMER genau so aufgebaut ist wie in deiner hochgeladenen Mappe, denn du hast (mindestens) 2 Parameter, die sich immer an der selben Position befinden:
1. "PNr. , Name, Vorname" in der Zeile unterhalb der Datumszeile
2. "STD BEG END PAU" in der Zeile, die überwacht werden muss

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngStart As Range
Set rngStart = Cells.Find("PNr. , Name, Vorname", lookat:=xlWhole)
If Not rngStart Is Nothing Then
If Cells(Target.Row, rngStart.Column + 3) = "STD BEG END PAU" Then
If Target.Column > rngStart.Column + 3 Then
If Weekday(Cells(rngStart.Row - 1, Target.Column), 2) > 5 Then Target.Offset(0, 1).Select
End If
End If
End If
End Sub

GrußformelBeverly's Excel - Inn
Anzeige
AW: Lösung unabhängig von Tabellenposition
20.06.2021 15:46:49
Tabellenposition
Hallo Karin.
Auch dir möchte ich für deine Hilfe danken.
Herbert hat mir bei meinem Problem erfolgreich geholfen.
So sieht der Code von herbert aus:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lRowIn&, lDatumRow&
lDatumRow = Range("1:10").Find(What:="Summe", Lookat:=xlWhole).Row - 1
If Target.Row = lDatumRow + 2 Or _
Target.Row = lDatumRow + 6 Or _
Target.Row = lDatumRow + 10 Or _
Target.Row = lDatumRow + 14 And _
Cells(lDatumRow, Target.Column) > 1 Then
If Weekday(Cells(lDatumRow, Target.Column), vbMonday) > 5 Then Target.Offset(, 1).Select
End If
End Sub
Ich habe meine tabelle soweit damit vervollständigt, und möchte sie jetzt so lassen wie sie ist.
Das Thema hat sich damit erledigt
Also nochmals danke für eure Hilfe.
Gruss
Anzeige
AW: Lösung unabhängig von Tabellenposition
20.06.2021 17:51:38
Tabellenposition
Hi Udo,
den Code von Herbert kenne ich, mir ging es jedoch um etwas anderes. Mache mal folgendes: füge noch 10 Zeilen oben und mehrere Spalten links ein - funktioniert der Code von Herbert dann immer noch?

GrußformelBeverly's Excel - Inn
AW: Lösung unabhängig von Tabellenposition
20.06.2021 18:10:21
Tabellenposition
Hallo Karin,
was hast du damit für ein Problem? Er kann so viele Zeilen und Spalten einfügen, wie er lustig ist, denn es wird immer nach der Zeile mit den Wochentagen der "Target.Column" gescheckt!
Servus
Anzeige
AW: Lösung unabhängig von Tabellenposition
21.06.2021 09:03:04
Tabellenposition
Also Karin,
das ist natürlich das oberextremste Beispiel und ich denke, dass es auch nicht ganz realistisch ist. Außerdem ist selbst das mit einer weiteren "0" oder 2 Nullen, sehr einfach zu lösen!
Servus
Anzeige
AW: Lösung unabhängig von Tabellenposition
21.06.2021 10:24:43
Tabellenposition
Hi Herbert,
richtig, das ist bewusst ein oberextremes Beispiel - es hätte aber auch ausgereicht, nur eine Spalte links einzufügen...
Ich verstehe allerdings nicht ganz, weshalb du dich so aufborstelst. Ich habe nur geschrieben, dass mein Code UNABHÄNGIG von der Position der Tabelle ist, und NICHTS ANDERES. Weshalb machst du jetzt ein Drama draus..? Es gibt (wie immer) viele Möglichkeiten und das Prinzip ist doch durchaus auch auf andere Situationen in abgewandelter Form anwendbar. Außerdem hatte ich meine Lösung bereits erarbeitet, nur warst du eben schneller mit deinem Beitrag - weshalb also darf ich meinen Vorschlag nicht trotzdem posten? Ich dachte immer, das Forum lebt von der Vielfalt der geposteten Lösungen...

GrußformelBeverly's Excel - Inn
AW: Lösung unabhängig von Tabellenposition
21.06.2021 10:35:30
Tabellenposition
Also nochmal Karin,
warum mein Text dir "aufgeborstelst" erscheint, verstehe ich nicht ganz. Ich habe doch nur geschrieben, dass du ein sehr extremes Beispiel gewählt hast. Das ist nach meiner Einschätzung, weder "aufgeborstelst" noch aggressiv. Allerdings faktisch korrekt. Ich habe deinen Code nicht angezweifelt, du aber meinen. Und auch noch zu Unrecht, denn ich habe mehrere Spalten links von der Tabelle eingefügt und er läuft problemlos. Und das mit den Zeilen lässt sich doch ohne Mühe korrigieren.
Also, "keep cool" Karin, ich wollte dir nix böses, warum auch, wo ich dich doch als Excel-Expertin sehr schätze!!!
Servus
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 16:14:13
Beverly
Meinen Beitrag von 15:55:13 hast du gelesen?

GrußformelBeverly's Excel - Inn
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 16:15:04
Hajo_Zi
Stundenzettel
 FGHIJKLMN
1DiMiDoFrSaSoMoDiMi
2'1'2'3'4'5'6'7'8'9
31,001,001,001,00     
41,001111  1 
5         

verwendete Formeln
Zelle Formel Bereich N/A
F1=DATUM(JAHR(AL2);MONAT(AL2);1)  
G1:N1=WENN(ISTFEHLER(WENN($F$1="";"";WENN(MONAT(F1+1)<>MONAT($F$1);"";F1+1)));"";WENN($F$1="";"";WENN(MONAT(F1+1)<>MONAT($F$1);"";F1+1)))  

Zahlenformate
Zelle Format Inhalt
F1 'TTT  44348
F3:F4, G3:I3 '0,00  1
F5, J3:N3 '0,00 
G1 'TTT  44349
H1 'TTT  44350
I1 'TTT  44351
J1 'TTT  44352
K1 'TTT  44353
L1 'TTT  44354
M1 'TTT  44355
N1 'TTT  44356
Zellen mit Format Standard werden nicht dargestellt

Daten, Gültigkeit  
Zelle Zulassen Daten Wert1 Wert2 Leere Zellen ignorieren Zellendropdown Titel Eingabe-meldung Eingabe-meldung Titel Fehler Fehler-meldung Typ Fehler-meldung Fehler- meldung anzeigen Eingabe- meldung anzeigen
F3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
G3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
H3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
I3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
J3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
K3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
L3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
M3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
N3BenutzerdefiniertZwischen=WOCHENTAG($F1;2)<6     Wahr             StoppWahr   Wahr  
F4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
G4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
H4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
I4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
J4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
K4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
L4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
M4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
N4BenutzerdefiniertZwischen=WOCHENTAG($F2;2)<6     Wahr             StoppWahr   Wahr  
F5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
G5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
H5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
I5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
J5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
K5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
L5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
M5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
N5BenutzerdefiniertZwischen=WOCHENTAG($F3;2)<6     Wahr             StoppWahr   Wahr  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.21 einschl. 64 Bit


GrußformelHomepage
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 16:38:46
Udo
Danke an alle die mir bei meinem Problem geholfen habe.
Grüsse aus dem sonnigen Köln
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 16:47:39
Beverly
Im Anhang der Nachweis, dass es auch mit Gültigkeitsprüfung funktioniert, wenn man das Prinzip richtig und auf alle Zellen anwendet.
https://www.herber.de/bbs/user/146671.xlsm

GrußformelBeverly's Excel - Inn
AW: Zellen sperren bei bestimmter bedingung
19.06.2021 16:55:50
Udo
Hallo karin.
Danke für dein Tip.
So funktioniert es auch, aber ich wollte das die zellen gesperrt werden, und nicht daraufhin gewissen werde, das es wochenende ist.
Das problem hat sich erledigt.
Trotzdem danke noch mal für deine tips.

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige