Excel 2016: Gültigkeitsregeln und Datenvalidierung

Einfügen durch die Zwischenablage mit VBA verhindern

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Um versehentliches Zerstören der Gültigkeitsregeln beim Einfügen aus der Zwischenablage zu verhindern, lassen Sie per VBA einfach keine Nutzung der Zwischenablage für diese Zellen zu.

Transkript

Die Tatsache, dass es so leicht ist, durch Einfügen aus der Zwischenablage Daten zu zerstören, nicht nur die Datenüberprüfung, sondern auch die Daten selber sind ja dann untauglich, ist eigentlich sehr unangenehm, und die schlechte Nachricht an der Stelle ist: Mit Bordmitteln lässt sich das nicht verhindern. Das lässt sich nur dann verhindern, wenn Sie VBA einsetzen, nicht viel, keine fünf Zeilen, aber immerhin VBA. Das heißt, wenn Sie sich nicht mit VBA beschäftigen wollen, können Sie jetzt weghören, ansonsten ist es hilfreich, wenn Sie so ein paar Grundkenntnisse in VBA haben. Sie werden sehen, das ist nicht besonders viel, aber es hilft, wenn man weiß, was ich da mache. Ich habe also hier diese Datei schon auf einen neuen Namen gespeichert und zwar nicht nur den Namen selber, sondern vor allem den Dateityp. Es ist jetzt eine XLSM-Datei. Also, das können Sie mit "Datei speichern unter" machen. Da muss sich hier der Typ ändern, nicht einfach bloß die Endung umschreiben und erst dann können darin Makros enthalten sein. Das ist zwingend notwendig. Und ich will dann verhindern, was ich gleich mache, nämlich hier einen beliebigen Text reinschreiben, den, mit "Strg+C" oder "Kopieren", in die Zwischenablage zu legen und hier dann einfügen, wie auch immer. Und das ist nämlich das, was ich machen muss, wenn ich jetzt mit "Esc"-Taste mal das Pop-up-Menü wegnehme. Der wichtige Teil ist die zweite "Esc"-Taste, Sie sehen hier noch diese Ameisenkolonne, also die laufende Markierung um den kopierten Text. Wenn ich jetzt die "Esc"-Taste drücke, dann ist dieses Lauflicht weg und Excel-typisch kann man dann auch nicht mehr einfügen. Und das ist das, was ich machen will. Ich will erstens hier prüfen, wo ich mich befinde, wo ich reingeklickt habe und zweitens dann verhindern, dass es sich kopieren lässt. Dazu muss ich mit "Alt+F11" erst mal in den VBA-Editor wechseln, der hat hier im Projekt-Explorer schon angezeigt, welche Datei offen ist und hier ist die "Tabelle 1" sichtbar, wenn das nicht der Fall ist, dann müssen Sie ihn hier sichtbar machen, und mit einem Doppelklick... -- es ist zwar bei mir schon sichtbar, aber vielleicht bei Ihnen nicht -- mit einem Doppelklick, hier wird von der Tabelle 1 deren Code -- das ist wichtig -- angezeigt. Anständigerweise... -- das ist nach einer frischen Installation von Excel nicht der Fall -- sollte hier schon "Option Explicit" drinstehen und dann kann’s losgehen. Wenn Sie dieses Makro brauchen, dann muss es im Hintergrund aufgerufen werden. Der Benutzer soll nicht auf irgendwas klicken, sondern es muss automatisch kommen, das ist also eins von den Ereignis-Makros. Und deswegen klappe ich hier aus, eins von den Worksheet-Ereignissen und praktischerweise auch direkt das... -- es gibt noch viel mehr -- das was hier standardmäßig vorgeschlagen wird. Und das bedeutet, sobald bei einem Worksheet/Tabellenblatt die Auswahl wechselt, "SelectionChange", wird dieses Makro aufgerufen. Ohne dass Sie was tun müssen. Ich zeige Ihnen das direkt mit der "MsgBox": "Ich bin angeklickt worden:" und wir können auch, wenn Sie wollen, direkt sagen, wer da angeklickt worden ist, dazu ist dieser "target"-Parameter gut und mit "adresslocal" kann ich anzeigen lassen, wo der liegt. Auch wenn das hier nicht angeboten wird, können wir das trotzdem nehmen, nicht "AddComment" sondern "AdressLocal", das war nur ein Schreibfehler. Und das können wir einmal speichern, sicherheitshalber, "Debuggen" "Kompilieren" und dann mit "Alt+F11" zurück und jetzt klicke ich irgendwo hin. Da ist die Meldung und wie Sie sehen, "H5". Wo immer ich hinklicke, kommt sofort eine Meldung, dass ist auf Dauer ganz furchtbar. Und deswegen geht es darum, das zu begrenzen. Ich möchte nur in den Spalten B bis F... -- dass E eigentlich gar nicht betroffen ist, ignorieren wir mal -- nur in den Spalten D bis F eine Warnung kriegen oder reagieren. Also, mit "Alt+F11" wieder zurück. Das können können wir erst mal vor uns herschieben, ich mache mal ein Hochkomma davor und wenn ich’s verlasse, wird es grün, das ist ein Kommentar. Jetzt prüfe ich erstmal, ob dieser Target, dieser Bereich überhaupt da liegt, wo es mich interessiert. Das ist mit einem eher unbekannten Befehl möglich, "if intersect". Also ein Schnittbereich von Bereichen, sozusagen. Wenn der von dem Target... -- das ist da, wo ich hinklicke -- das kriege ich mal übergeben, und von dem Bereich, der sich von "$B:$F" zieht, das sind die Spalten B bis F, wenn dieser Bereich "nothing" ist, also kein Ergebnis liefert, keine Schnittmenge, dann ist alles gut, andernfalls habe ich ein Problem. Dann bin ich nämlich dort, wo ich prüfen möchte. Also hier kann ich direkt sagen "exit sub", falls noch irgendwas anderes kommt und ich schreibe es mal als Kommentar dahinter: "also ist es außerhalb" des Bereichs, den ich überprüfen will, das ist nämlich der mit meinen Datenüberprüfungsregeln. Hier, das lasse ich erstmal als "MsgBox" wieder stehen, da möchte ich’s prüfen. Also wieder "Speichern" "Debuggen" "Kompilieren" und mit "Alt+F11" wieder rüber. Ich kann hier klicken, so viel ich will auf die Spalte A, aber sobald ich irgendwie in die Spalten B bis F komme, kommt meine Meldung. Damit habe ich jetzt den Klickbereich schon mal deutlich eingegrenzt. Und jetzt kommt der nächste Teil, wenn das passiert, will ich eigentlich keine Meldung machen, das können wir wieder rauskommentieren, sondern dann will ich dieses Ameisenlauflicht ausschalten, sprich, es ist nicht mehr kopierfähig. Das ist ein Befehl, der heißt "Application.CutCopyMode" und hier wird zwar nur xlCopy und xlCut angeboten, aber es gibt noch einen dritten Parameter, nämlich "false", der sorgt dafür, dass ich das ausschalte. Wenn also irgendwas kopiert ist, dann wird es dabei sofort ausgeschaltet. Eine Meldung brauche ich nicht. Wir können das jetzt probieren. Das werde ich mit "Strg+C" in die Zwischenablage legen, Excel-typisch das Lauflicht, jetzt kann ich hier klicken, klicken, klicken, Lauflicht ist immer da. Ich kann auch hier einfügen, wenn ich Lust habe. Alles da. Sobald ich jetzt hierhin klicke, ist sofort das Lauflicht aus und damit ist auch kein Einfügen mehr aktiv. Und ich kann auch versuchen mit Tricks... -- ich lösche das hier mal wieder -- mit Tricks zu sagen, ich klicke nicht und mache dann den Rechtsklick, sondern sofort den Rechtsklick, hilft nichts, sofort ausgeschaltet. Das ist also sozusagen der große Hammer, das war ja hier nur zum Vorführen. Wenn ich in diesem Bereich B bis F bin, das steht hier, wenn es eine Schnittmenge zwischen diesen gibt, dann lande ich hier, oder hier müsste ich genauer gesagt sagen, wenn es keine Schnittmenge gibt, "Is Nothing", dann ist alles gut, ich kümmere mich nicht weiter drum. Und bei diesem kurzen Programm könnte ich sogar das "Exit Sub" weglassen. Andernfalls schalte ich sofort die Zwischenablage in Excel aus, sodass man gar nichts reinkopieren kann. Das ist sozusagen der große Hammer, aber dafür mit wenig Aufwand schnell zu erledigen.

Excel 2016: Gültigkeitsregeln und Datenvalidierung

Vermeiden Sie Eingabefehler in Excel-Tabellen, indem Sie Gültigkeitsregeln setzen und so die Dateneingabe überprüfen lassen.

1 Std. 32 min (23 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:20.02.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!