Excel VBA – Bereichsauswahl verhindern

Bereichsauswahl verhindern

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
In diesem Beitrag zeige ich Ihnen, wie Sie mit einem Tabellen Ereignis die Auswahl innerhalb eines Bereiches unterbinden können. Wenn der Benutzer eine Zelle in dem Bereich A1 bis F10 auswählen möchte, wird er wieder in die Zelle A11 geschickt.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Geschützer Bereich
Um ein Tabellen Ereignis anzulegen, doppelklicken Sie die gewünschte Tabelle in der Entwicklungsumgebung.
Tabellen Ereignis anlegen
Wählen Sie im ersten Dropdown Worksheet aus. Im zweiten Dropdown wird automatisch SelectionChange selektiert. Dieses Ereignis reagiert immer dann, wenn Sie den Mauszeiger in der Tabelle versetzen.
Zunächst definieren wir einen Bereich den wir überwachen wollen.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Bereich As Range

Set Bereich = Range("A1:F10")
End Sub

Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Nun wollen wir prüfen, ob die aktuell ausgewählte Zelle in dem definierten Bereich liegt. Die ausgewählte Zelle (die auch einen Bereich darstellt) wird in der Variablen Target abgelegt. Mit der Methode Intersect prüfen wir ob sich die beiden Bereiche überschneiden. Wenn sich die beiden Bereiche nicht überschneiden passiert nichts. Falls aber die beiden Bereiche eine Schnittmenge bilden, d.h. wenn der Benutzer eine Zelle zwischen A1 und F10 auswählt, springt die Auswahl in die Zelle A11.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Bereich As Range

Set Bereich = Range("A1:F10")

If Intersect(Bereich, Target) Is Nothing Then

Else
Range("A11").Select
End If
End Sub

Testen Sie nun dieses Ereignis, indem Sie eine beliebige Zelle in dem Bereich zwischen A1 und F10 auswählen. Sie werden feststellen, dass es nicht möglich ist. Sie können auch keine Zeilen oder Spalten auswählen, die sich mit dem geschützten Bereich überschneiden.
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Bildquelle: Pexels, CC0 License

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.