Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Bei falscher Eingabe alten Wert wiederherstellen

Gruppe

Change

Problem

Ich möchte den Benutzer zwingen, nur numerische Werte in einen bestimmten Bereich einzugeben. Gibt er einen nichtnumerischen Wert ein, soll der alte Wert wiederhergestellt werden.

Lösung
Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.

StandardModule: basMain

Public gvValue As Variant

ClassModule: DieseArbeitsmappe

Private Sub Workbook_Open()
   If ActiveCell.Column = 256 Then
      Range("A1").Select
   Else
      ActiveCell.Offset(0, 1).Select
      ActiveCell.Offset(0, -1).Select
   End If
End Sub

ClassModule: Tabelle2

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   If Not IsNumeric(Target.Value) Then
      Target.Value = gvValue
   End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
   gvValue = ActiveCell.Value
End Sub