Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Zellschutz

Betrifft: Zellschutz von: yummi
Geschrieben am: 19.11.2014 13:02:04

Hallo Zusammen,

ich dreh mich momentan ein wenig im Kreis. Folgendes Problem:
Es existiert eine Liste über die nur per Formular Daten geschrieben werden dürfen. Das würde sich ja noch mit Zellen schützen und Blattschutz realisieren lassen.

Bei Doppelklick auf die Zelle öffnet sich das Formular mit den Daten aus der angeklickten Zeile (hier komme ich mit Blattschutz, gesperrte Zellen nicht anklicken nicht weiter, da ich sonst nicht erkennen kann welche Zeile angeklickt wurde).

Wenn jemand jetzt einen linksklick in die Zelle macht, soll er den Wert in der Zelle nicht ändern können. Das könnte ich mit aktivieren einer leeren anderen Zelle verhindern.

Das führt aber dazu, dass bei Doppelklick auf eine Zelle beim ersten doppelklick die aktivierte Zelle registriert wird und erst beim 2. Dopppelklick auf die richtige Zelle reagiert wird.

Also Zusammengefasst: Linksklick soll zwar der Inhalt der Zelle in den Zwischenspeicher kopiert werden, aber das Ändern des Wertes soll nicht möglich sein
Bei Doppelklick soll registriert werden in welche Zelle der Dopppelklick gemacht wurde.

Hat jemand dazu eine Idee?

Danke
yummi

  

Betrifft: AW: Zellschutz von: Matthias L
Geschrieben am: 19.11.2014 13:38:14

Hallo

Also ich hab das jetzt bestimmt 5x gelesen und werde nicht schlau daraus.

Du kannst doch beim Zellschutz festlegen
das der Benutzer nur gesperrte und nicht gesperrt Zellen auswählen darf

Wenn jemand jetzt einen linksklick in die Zelle macht, soll er den Wert in der Zelle nicht ändern können
Wenn er jetzt eine gesperrte Zelle anklickt, dann kann er doch nichts ändern.

Hab ich was faklsch verstanden ?

Gruß Matthias


  

Betrifft: AW: Zellschutz von: yummi
Geschrieben am: 19.11.2014 13:41:46

Hallo Matthias,

ja soweit hast du recht. Aber wenn ich, so wie du sagst, den Zellschutz aktiviere, dann kann ich die Zelle auch nicht mit doppelklick anwählen.

Gruß
yummi


  

Betrifft: AW: Zellschutz von: Werner
Geschrieben am: 19.11.2014 13:52:01

Hallo,

du kannst doch beim setzen des Blattschutzes "Gesperrte Zellen auswählen" anhaken. Dann reagieren auch gesperrte Zellen auf das Doppelklick-Ereignis.
Im Code musst du dann nur zu Beginn den Blattschutz rausnehmen und am Ende wieder setzen.

Gruß Werner


  

Betrifft: AW: Zellschutz von: yummi
Geschrieben am: 19.11.2014 14:10:28

Hallo Werner,

wenn ich das mache, dann der Inhalt wieder geändert werden

Gruß
yummi


  

Betrifft: warum soll das nicht gehen von: Matthias L
Geschrieben am: 19.11.2014 13:55:33

Hallo

Ich kann doch alle Zellen per Doppelklick anklicken

https://www.herber.de/bbs/user/93874.xlsm

rot =gesperrt
gelb ist nicht gesperrt

Gruß Matthias


  

Betrifft: AW: warum soll das nicht gehen von: yummi
Geschrieben am: 19.11.2014 14:13:08

Hallo Matthias,

deine Datei funktioniert für den Doppelklick da gebe ich dir recht. Aber ich kann leider auch mit einem einfachklick den inhalt der Zelle ändern und das soll ja nicht möglich sein.

Gruß
yummi


  

Betrifft: dann machst Du irgendwas falsch ... von: Matthias L
Geschrieben am: 19.11.2014 14:19:59

Hallo

Also jetzt komme ich garnicht mehr klar

Aber ich kann leider auch mit einem einfachklick den inhalt der Zelle ändern und das soll ja nicht möglich sein.

Hast Du meine Datei wirklich benutzt?
Die roten Zellen sind doch gesperrt, da kannst Du nichts ändern ohne den Blattschutz aufzuheben!



Gruß Matthias


  

Betrifft: AW: dann machst Du irgendwas falsch ... von: yummi
Geschrieben am: 19.11.2014 14:45:50

Hallo Matthias,

die von dir gezeigt Meldung kommt aber auch wenn ich ein Doppelklick mache und nicht deine MsgBox

Ich möchte den Einfachklick unterbinden (allerdings mit der Möglichkeit das der Inhalt der Zelle in den Clipboard gelegt wird)

Und gleichzieitg soll auf die selbe Zelle der Doppelklick möglich sein.

Gruß
yummi


  

Betrifft: wirklich kompliziert ... von: Matthias L
Geschrieben am: 19.11.2014 15:28:03

Hallo

Ich weiß nicht ob es wirklich so kompliziert ist, oder ob Du es nur kompliziert erklärst/anwendest.
Das ist keinesfalls böse gemeint!

Zitat
die von dir gezeigt Meldung kommt aber auch wenn ich ein Doppelklick mache und nicht deine MsgBox

Ich habe jetzt die von mir hochgeladene Datei noch mal runtergeladen und an Dieser getestet

Ich Doppelklicke auf C5
dann kommt Bei mir die MsgBox

Die Zellschutzinformation kommt erst wenn ich in einer gesperrten Zelle
bei gesetzten Blattschutz etwas ändern will.(nicht beim Doppelklick)



Ich versteh Dein Problem leider nicht und
kann Dir so nicht weiterhelfen.

Sonst lad Deine Mappe hoch, das man nachvollziehen kann was da so läuft
Ich kann allerdings nur bis XL2007 testen.
Glaube aber nicht das die Version das Problem ist.

Gruß Matthias


  

Betrifft: AW: wirklich kompliziert ... von: Werner
Geschrieben am: 19.11.2014 16:00:01

Hallo,

eine Tabelle kann ich derzeit leider nicht hochladen. Mach mal ne neue Excel auf. Im Tabellenblatt 1 Spalte A trag bitte in verschiedene Zellen irgend etwas ein.
Dann Bitte das Blatt schützen, hierbei "Gesperrte Zellen auswählen" und "Nicht gesperrte Zellen auswählen" anhaken. Anschließend das Blatt schützen Passwort Werner
Rechte Maustaste auf Tabelle 1, Code anzeigen, und den Code reinkopieren.

Ist in Spalte A eine Zelle leer und du klickst doppelt drauf dann kommt ne MsgBox "Eintrag möglich" hier kannst du deinen Code einsetzen um über eine Userform Eintragungen zu ermöglichen.
Klickst du in Spalte A in eine Zelle in der schon etwas drin steht dann kommt ne MsgBox "Kein Eintrag möglich".

Hier der Code:

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, cancel As Boolean)
Dim zelle As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Worksheets("Tabelle1").Protect Password:="Werner"
If target.Column = 1 Then
    For Each zelle In target
    If IsEmpty(zelle) Then
    MsgBox "Eintrag möglich"
    Else
    MsgBox "Kein Eintrag möglich"
    End If
    Next zelle
End If
Application.CutCopyMode = False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Worksheets("Tabelle1").Protect Password:="Werner"
cancel = True
End Sub
Meinst du das so?

Gruß Werner


  

Betrifft: AW: wirklich kompliziert ... von: Werner
Geschrieben am: 19.11.2014 16:05:54

Hallo,

sorry, hatte das mit dem Blattschutz falsch. Probier das hier mal. Ist eine Zelle leer dan wird in die Zelle "Hier gehts" eingetragen. Steht in der Zelle schon was drin dann kommt ne MsgBox.

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, cancel As Boolean)
Dim zelle As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
If target.Column = 1 Then
    For Each zelle In target
    If IsEmpty(zelle) Then
    Worksheets("Tabelle1").Unprotect Password:="Werner"
    zelle = "Hier gehts"
    Worksheets("Tabelle1").Protect Password:="Werner"
    Else
    MsgBox "Kein Eintrag möglich"
    End If
    Next zelle
End If
Application.CutCopyMode = False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
cancel = True
End Sub
Werner


  

Betrifft: AW: Uuuups.. von: Werner
Geschrieben am: 19.11.2014 16:11:52

Hallo,

da ist noch ein

Application.CutCopyMode = Flase

drin, was da nichts zu suchen hat.


Werner


  

Betrifft: AW: wirklich kompliziert ... von: yummi
Geschrieben am: 19.11.2014 16:24:07

Hallo Matthias,

ich hab meinen Blattschutz nochmal anhand deiner Vorlage überarbeitet und jetzt klappt es :-)))
Vorher war es so, wenn ich den Blattschutz auf alle Zellen ausgedehnt hatte, habe ich beim Doppelklick nicht die Zeile erkannt, die ich geklickt habe.

Hast mir auf jeden Fall geholfen

Danke
yummi


 

Beiträge aus den Excel-Beispielen zum Thema "Zellschutz"