Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
288to292
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
288to292
288to292
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gültigkeitseinschränkungen in Zellen

Gültigkeitseinschränkungen in Zellen
06.08.2003 13:15:11
Regina
Hallo ihr Helfer,
ich hab heute eure Seite gefunden - vielleicht kann mir jemand helfen:
Ich habe in einer Excel-Tabelle Zellen mit Gültigkeiten eingeschränkt.
Es sollen nur Werte aus einem vorgegebenen Listenfeld eingegeben werden können.
Solang die Zelle konkret angeklickt wird, wird auch der Gültigkeitsbereich beachtet. Wenn ich aber mit Kopieren > Einfügen aus einer anderen Zelle einen Wert hole, wird die Gültigkeit nicht mehr überprüft - also erhalte ich u.U. falsche Werte.
Weiß jemand eine Antwort?
Danke im Voraus.
Regina

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gültigkeitseinschränkungen in Zellen
06.08.2003 13:19:26
Ramses
Hallo
das lässt sich leider nicht umgehen, ... ausser du schützt deine Zellen entsprechend.
Mit Kopieren-Einfügen wird nämlich nicht nur der Inhalt eingefügt, sondern auch die ganzen Zellformate und Abhängigkeiten.
Das heisst, nach dem Einfügen, steht dir die gültigkeit auch nicht mehr zur Verfügung.
Du musst die Zellen also schützen, wenn du das einfügen verhindern willst.
Gruss Rainer

AW: Gültigkeitseinschränkungen in Zellen
06.08.2003 13:24:27
Regina
Danke für die Antwort.
Mit dem Blattschutz hatte ich es auch schon probiert, aber Zugriff auf die nicht gesperrten Zellen gestattet - und gerade das sollte ja nicht sein. Jetzt klappt es.
Also noch mal Danke.
Regina

Anzeige
AW: Gültigkeitseinschränkungen- doch nicht klar
06.08.2003 14:06:59
Regina
Hallo,
mit dem Zellschutz klappt es doch noch nicht so richtig. Ich hab vorhin lediglich eine Zelle ausprobiert. ... (und dort hatte es funktioniert).
Also:
Ich habe einíge Zellen, für die sollen Gültigkeiten eingeschränkt werden (z.B. durch Listenfelder, durch Eingabe von Bereichen, ...).
In einigen anderen Zellen sollen freie Eingaben möglich sein.
Und das soll vor allem auch beim Kopieren > Einfügen mit überprüft werden.
Wenn ich jetzt das Arbeitsblatt schütze, muss ich ja sagen, was der Nutzer darf.
Sperre ich die fraglichen Zellen und sage, der Nutzer darf nur nicht gesperrte Zellen auswählen - dann komme ich auch nicht an meine Listenfelder ran. Sobald ich aber Zugriff auf die Zellen gestatte, nützt mir auch mein Blattschutz nicht viel - und der Nutzer kann wieder durch Kopieren > Einfügen falsche Werte reinbringen.
Kann ich evtl. über VBA irgendwie die Gültigkeitsüberprüfung für die Zellen aufrufen?
Bitte nochmal Hilfe.
Mfg
Regina

Anzeige
Gültigkeit - Kopieren und Einfügen verhindern
06.08.2003 14:23:06
Boris
Hi Regina,
mal als Ansatz:
Füge eine Ereignisprozedur ein, die 2 Dinge überprüft:
Ist der CutCopy-Mode aktiv und liegt die Gültigkeitszelle innerhalb der aktiven Selektierung, dann selektiere eine andere Zelle.
Im Beispiel ist die Gültigkeitszelle C3. Wenn beide Bedingungen zutreffen, wird A1 selektiert und es erscheint ne kleine Meldung:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode And Not Intersect(Selection, [c3]) Is Nothing Then
Application.EnableEvents = False
[a1].Select
MsgBox "Das hab ich Euch doch verboten, ihr DAUs...", , "Hallo, hallo!!!"
Application.EnableEvents = True
End If
End Sub

Natürlich ist das noch nicht wasserdicht. Es müsste auch noch die Zwischenablage irgendwie überprüft werden - aber ich bin kein VBA-Experte.
Grüße Boris

Anzeige
Besser - weil einfacher - vielleicht so:
06.08.2003 14:33:39
Boris
Hi Regina,
nicht A1 selekten, sondern den CutCopyMode einfach ausschalten:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode And Not Intersect(Selection, [c3]) Is Nothing Then
Application.CutCopyMode = False
MsgBox "Das hab ich Euch doch verboten, ihr DAUs...", , "Hallo, hallo!!!"
End If
End Sub

Grüße Boris

Tolle Idee!!
06.08.2003 14:45:57
Franz W.
Hi Boris,
geniale Idee, kann ich auch gut gebrauchen. Ich sag's ja immer ... (nein, nein, schon gut! Ich reiß mich ja schon am Riemen ;-)))))))))
Beste Grüße
Franz

AW: Besser - weil einfacher - vielleicht so:
06.08.2003 14:49:35
Regina
Danke,
das ist wirklich besser.
Übrigens hab ich inzwischen nicht nur die eine Zelle überprüft, sondern einen Bereich definiert, der diese Zellen enthält - und den Namen dieses Bereiches im Code verwendet.
Gibt es auch noch etwas, womit ich ein Löschen des Zellinhalts evtl. verhindern kann?
(Meine VBA-Kenntnisse sind noch nicht so weit ausgereift).
Grüße Regina

Anzeige
Löschen verhindert man mit Blattschutz...
06.08.2003 14:59:18
Boris
Hi Regina,
...aber das ist dir ja bekannt.
Was spricht gegen den Schutz einer Zelle, die nicht gelöscht werden darf?
Grüße Boris

AW: Löschen ...
06.08.2003 15:39:44
Regina
Blattschutz ist deswegen nicht so gut, weil der Nutzer ja aus einer vorgegebenen Liste einen Wert auswählen soll - und wenn ich die Zelle über Blattschutz sperre, kann ich zwar nicht löschen - aber auch nicht auswählen.
Gruß Regina

AW: Löschen ...
06.08.2003 18:06:58
Ramses
Hallo,
aber du kannst doch den Zellschutz für diese Zeile entfernen, dann kannst du das Blatt schützen und der User kann trotzdem Eingaben machen!?
Gruss Rainer

AW: Danke
08.08.2003 11:08:04
Regina
Hallo,
danke erstmal für eure Hilfe.
Das Problem mit dem Löschen hab ich jetzt über das CHANGE-Ereignis in VBA gelöst.
(Sobald sich ein Zellinhalt dieser bestimmten Zellen geändert hat, überprüfe ich, ob dort ein Leerstring steht -> wenn ja, dann mit Application.Undo das Löschen rückgängig gemacht.)
Also nochmals recht herzlichen Dank!
Bestimmt brauch ich auch andermal noch Hilfe.
Gruß Regina


Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige