Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Aktivieren mehrerer CheckBoxes unterbinden

Gruppe

CheckBox

Problem

Die Position der angeklickten CheckBox soll festgestellt und mehrfaches Anklicken in einer Zeile verhindert werden. Optionsfelder sollen keine eingesetzt werden.

Lösung
Den nachfolgenden Code in ein Standardmodul eingeben und den CheckBoxes aus der Formular-Symbolleiste zuweisen.

StandardModule: basMain

Sub MessageBox_Frage()
   Dim rng As Range
   Set rng = Range(ActiveSheet.CheckBoxes _
      (Application.Caller).LinkedCell)
   If WorksheetFunction.Sum(Rows(rng.Row)) > 1 Then
      MsgBox "Es ist nur eine Bewertung pro Frage zulässig;" & _
      "bitte entscheiden Sie sich!", vbCritical, "Zu oft geklickt!"
      ActiveSheet.CheckBoxes(Application.Caller).Value = xlOff
    End If
End Sub