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
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ß MatthiasPrivate 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 ;-)Um zu verhindern, dass Excel mehrere Zellen markiert, kannst du eine VBA-Prozedur verwenden. Folge diesen Schritten:
Öffne die Excel-Datei, in der du das Markieren mehrerer Zellen verhindern möchtest.
Drücke ALT
+ F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Suche im Projektfenster auf der linken Seite nach deiner Arbeitsmappe und klicke auf das entsprechende Arbeitsblatt (z. B. "Tabelle1").
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
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.
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.
Falls du kein VBA verwenden möchtest, kannst du auch die folgende Methode ausprobieren:
Shift
+ F8
, um mehrere Bereiche auszuwählen, ohne damit mehrere Zellen zu markieren.Dies ist allerdings nicht so effektiv wie die VBA-Lösung.
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.
Workbook_Open
-Ereignisse, um den VBA-Code beim Öffnen der Datei automatisch zu aktivieren.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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen