Hallo zusammen
Ich benutze Excel 2013 unter Win 10 und scheitere an folgendem Problem:
In einem Excel habe ich via VBA programmiert, dass wenn man auf bestimmte Zellen klickt, das X wiedergibt. Dann möchte ich in verschiedenen Bereichen (B7:B10 und B13:B16, B19:B22, B25:B29, B32:B36, usw.) aber nur 1 Auswahl zulassen. D.h. Im Bereich B7 bis B10 ist nur eine Auswahl erlaubt, im Bereich B13 bis B16 ist nur eine Auswahl erlaubt, etc. ansonsten kommt die Nachricht xy. Das VBA funktioniert soweit, aber nur für die erste Auswahl B7:B10 (1.1 Fachliches Wissen und Können). Ich habe schon im Internet gesucht, aber nichts passendes gefunden, was geholfen hat.
Habt ihr eine Lösung?
Mein VBA sieht wie folgt aus:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B7:B75")) Is Nothing Then
Application.EnableEvents = False
If ActiveCell.Value = "X" Then
ActiveCell.ClearContents
Else
ActiveCell.Value = "X"
End If
Cancel = True
End If
Application.EnableEvents = True
'1.1 Fachliches Wissen und Können -> nur eine Auswahl erlaubt
Dim r1 As Range
Set r1 = Sheets("Datenblatt").Range("B7:B10")
If Not Intersect(r1, Target, r1) Is Nothing Then
On Error GoTo Fehler
If WorksheetFunction.CountA(Intersect(Columns(Target.Column), r1)) > 1 Then
With Application
TMP = MsgBox("Nur eine Eingabe erlaubt", vbCritical, "Fehler")
.EnableEvents = False
.Selection.ClearContents
End With
End If
End If
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
|