Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere Zellen markieren verhindern

Mehrere Zellen markieren verhindern
Badi
Hallo zusammen
ich hätte da noch eine Frage wie man verhindern kann dass zwei oder mehrere Zellen markiert werden.
So dass der Benutzer immer nur eine Zelle auswählen kann.
Besten Dank
Badi
Anzeige
AW: Mehrere Zellen markieren verhindern
10.08.2009 22:50:48
Josef
Hallo Badi,
in das Modul der entsprechenden Tabelle.
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  On Error GoTo ErrExit
  Application.EnableEvents = False
  ActiveCell.Select
  ErrExit:
  Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Mehrere Zellen markieren verhindern
11.08.2009 00:00:17
Badi
Hallo Sepp
besten Dank für die rasche Hilfe.
Jetzt habe ich aber ein Problem: Ich benutze schon ein Private Sub Worksheet_SelectionChange in der Tabelle :-(
kann man da etwas machen?
Danke
Badi
...Das kommt darauf an, was das macht,...
11.08.2009 02:45:50
Luc:-?
...Badi...
Evtl kann man ja unterschiedl Wirkungsbereiche festlegen. Ansonsten gibt es noch ein 2.SelectionChange für das Blatt — nämlich im Workbook-Dokument-Klassenmodul. Aber auch hier gilt, die unterschiedlichen Ereignisreaktionen sollten sich nicht in die Quere kommen. Musst du halt mal ausprobieren.
Gruß Luc :-?
Anzeige
AW: ...Das kommt darauf an, was das macht,...
11.08.2009 07:30:41
Badi
Danke Luc:-?
das übersteigt nun definitiv meine Möglichkeiten.
Werde es wohl sein lassen.
Besten Dank
Badi
AW: Meistens geht es,
11.08.2009 07:45:16
Gerd
Hallo Badi!
zwei Prozeduren, in einer Ereignisprozedur zusammenzufassen.
Zeige hier halt deinen bisherige Selection_Change - Code.
Gruß Gerd
sollte doch so funktionieren ...
11.08.2009 09:12:31
Matthias
Hallo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then ActiveCell.Select
'... und hier der Rest von Deinem bisherigen Code(den kennt ja keiner)
End Sub
Gruß Matthias
Anzeige
AW: ...Das kommt darauf an, was das macht,...
11.08.2009 09:24:22
Badi
Hallo zusammen
also hier mal der bestehende Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
ActiveSheet.Unprotect Password:=""
Cells.Interior.ColorIndex = xlNone
Cells(Target.Row, 2).Interior.ColorIndex = 37
Cells(Target.Row, 1).Interior.ColorIndex = 3
Cells(Target.Row, 35).Interior.ColorIndex = 3
Cells(1, Target.Column).Interior.ColorIndex = 3
ActiveSheet.Protect Password:=""
End Sub
Ich werde dann mal versuchen die zwei zu vereinigen ;-)
Danke und Gruss
Badi
Anzeige
AW: ...Das kommt darauf an, was das macht,...
11.08.2009 09:28:24
Badi
Hallo zusammen
ich habs hingekriegt.
Mann bin ich gut ;-))))))
Besten Dank für eure Hilfe
Badi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Zellen markieren verhindern


Schritt-für-Schritt-Anleitung

Um zu verhindern, dass Excel mehrere Zellen markiert, kannst du eine VBA-Prozedur verwenden. Folge diesen Schritten:

  1. Öffne die Excel-Datei, in der du das Markieren mehrerer Zellen verhindern möchtest.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Suche im Projektfenster auf der linken Seite nach deiner Arbeitsmappe und klicke auf das entsprechende Arbeitsblatt (z. B. "Tabelle1").

  4. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       On Error GoTo ErrExit
       Application.EnableEvents = False
       If Target.Count > 1 Then ActiveCell.Select
    ErrExit:
       Application.EnableEvents = True
    End Sub
  5. Schließe den VBA-Editor und teste die Funktion in deinem Arbeitsblatt.

Mit diesem Code wird Excel immer nur eine Zelle auswählen, auch wenn du versuchst, mehrere Zellen zu markieren.


Häufige Fehler und Lösungen

  • Excel markiert mehrere Zellen statt einer: Achte darauf, dass der Code im richtigen Arbeitsblatt-Modul eingefügt wird. Wenn du den Code im allgemeinen Modul oder in einem anderen Arbeitsblatt eingefügt hast, wird er nicht funktionieren.

  • Excel wählt immer mehrere Zellen aus: Stelle sicher, dass Application.EnableEvents auf False gesetzt ist, bevor du die ActiveCell auswählst. Wenn ein anderer Code in derselben Prozedur läuft, kann dies die Funktion beeinträchtigen.


Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die folgende Methode ausprobieren:

  1. Gehe zu den Excel-Optionen.
  2. Wähle „Erweiterte Optionen“.
  3. Deaktiviere die Option „Zellen automatisch auswählen“ oder verwende die Tastenkombination Shift + F8, um mehrere Bereiche auszuwählen, ohne damit mehrere Zellen zu markieren.

Dies ist allerdings nicht so effektiv wie die VBA-Lösung.


Praktische Beispiele

Wenn du beispielsweise ein Arbeitsblatt hast, in dem du die Auswahl auf eine bestimmte Zelle beschränken möchtest, kannst du den oben genannten Code anpassen. Hier ein Beispiel:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("A1:A10")) Is Nothing Then
        If Target.Count > 1 Then ActiveCell.Select
    End If
End Sub

In diesem Beispiel wird die Auswahl auf die Zellen A1 bis A10 begrenzt.


Tipps für Profis

  • Wenn du mehrere Arbeitsblätter hast, kannst du den gleichen Code in jedes Arbeitsblatt einfügen, um das Markieren mehrerer Zellen überall zu verhindern.
  • Nutze Workbook_Open-Ereignisse, um den VBA-Code beim Öffnen der Datei automatisch zu aktivieren.
  • Experimentiere mit anderen Event-Prozeduren in VBA, um spezifische Funktionen zu integrieren, wie z. B. das Markieren mehrerer Spalten in Excel.

FAQ: Häufige Fragen

1. Warum markiert Excel immer mehrere Zellen? Excel kann automatisch mehrere Zellen markieren, wenn du die Shift- oder Ctrl-Taste gedrückt hältst. Der obige VBA-Code hilft, dies zu verhindern.

2. Kann ich die Funktion auch für mehrere Bereiche anwenden? Ja, du kannst den VBA-Code anpassen, um mehrere Bereiche auszuwählen. Nutze dazu die Intersect-Funktion im Code.

3. Funktioniert das in allen Excel-Versionen? Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2010, 2013, 2016 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige