Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eingabe in einer Zelle prüfen mittels VBA

Forumthread: Eingabe in einer Zelle prüfen mittels VBA

Eingabe in einer Zelle prüfen mittels VBA
23.04.2006 19:56:29
Torge
Hallo,
kann jemand helfen noch ein Problem?
Gibt es eine Möglichkeit mittels VBA die Eingabe in einer Zelle zu prüfen in der Art:
ist die Zahl gleich 0, dann MsgBox ungültig, ist die Zahl größer als 5, dann auch MsgBox Anzeige ungültig. Soll nach Möglichkeit nicht mit Excel-Formel umgesetzt werden.
Vielen Dank schon mal.
Gruß Torge
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabe in einer Zelle prüfen mittels VBA
23.04.2006 20:03:59
Ramses
Hallo
wie vorher zusätzlich in das Worksheet-Change Ereignis
If Target.Address(0,0) "A1" Then Exit Sub
If Target.Value = 5 then
Application.EnableEvents = false
Msgbox "Eingabe ist ungültig"
Target.ClearContents
Application.EnableEvents = True
end if
Gruss Rainer
Anzeige
AW: Eingabe in einer Zelle prüfen mittels VBA
23.04.2006 20:20:20
Torge
Hallo Rainer,
vielen Dank für die Hilfe.
Gruß Torge
AW: Eingabe in einer Zelle prüfen mittels VBA
23.04.2006 23:45:29
Mustafa
Hallo Torge,
Das kannst du auch mit Daten_Gültigkeit machen.
Rückmeldung obs hilft wäre nett.
Viele Grüße aus Köln.
AW: Eingabe in einer Zelle prüfen mittels VBA
24.04.2006 09:04:27
Torge
Hallo Mustafa,
Danke für den Hinweis. Aber ich wollte es ohne Daten_Gültig machen, also rein über VBA.
Viele Grüße
Torge
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Eingabeprüfung in Excel-Zellen mit VBA


Schritt-für-Schritt-Anleitung

Um die Eingabe in einer Zelle mittels VBA zu prüfen, kannst Du das Worksheet_Change-Ereignis verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle das entsprechende Arbeitsblatt aus, in dem Du die Eingabeprüfung durchführen möchtest.

  3. Füge den folgenden Code in das Code-Fenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address(0, 0) = "A1" Then
           Application.EnableEvents = False
           If Target.Value = 0 Or Target.Value > 5 Then
               MsgBox "Eingabe ist ungültig"
               Target.ClearContents
           End If
           Application.EnableEvents = True
       End If
    End Sub
  4. Schließe den VBA-Editor und teste die Eingabe in Zelle A1. Wenn die Eingabe 0 oder größer als 5 ist, solltest Du eine Meldung erhalten und die Zelle wird geleert.


Häufige Fehler und Lösungen

  • Problem: Die MsgBox erscheint nicht.

    • Lösung: Stelle sicher, dass Du das Application.EnableEvents = False und True korrekt gesetzt hast, um die Ereignisse nicht zu deaktivieren.
  • Problem: Der Code funktioniert nur für Zelle A1.

    • Lösung: Ändere die Adresse in If Target.Address(0, 0) = "A1" zu der gewünschten Zelle oder lasse die Bedingung weg, um es auf alle Zellen anzuwenden.

Alternative Methoden

Falls Du die Eingabeprüfung ohne VBA durchführen möchtest, kannst Du auch die Datenvalidierung in Excel verwenden:

  1. Wähle die Zelle aus, die Du prüfen möchtest (z.B. A1).
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle unter Zulassen die Option Benutzerdefiniert und gib folgende Formel ein:
    =UND(A1<>0; A1<=5)
  4. Klicke auf Fehlermeldung und passe die Meldung an, die erscheinen soll, wenn die Eingabe ungültig ist.

Praktische Beispiele

  1. Beispiel 1: Du möchtest die Eingabe in Zelle B2 prüfen und eine andere Fehlermeldung anzeigen, wenn die Eingabe ungültig ist. Ändere die Adresse und den Text in der MsgBox:

    If Target.Address(0, 0) = "B2" Then
       MsgBox "Bitte gib eine gültige Zahl ein (1-5)"
    End If
  2. Beispiel 2: Du kannst die Prüfung auf weitere Bedingungen erweitern, z.B.:

    If Target.Value < 1 Or Target.Value > 10 Then
       MsgBox "Wert muss zwischen 1 und 10 liegen"
    End If

Tipps für Profis

  • Nutze Select Case-Anweisungen, um mehrere Werte einfacher zu überprüfen.
  • Halte Deine VBA-Projekte organisiert, indem Du Kommentare im Code verwendest, um die Logik zu erklären.
  • Teste Deinen Code regelmäßig, um sicherzustellen, dass er wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Prüfung auf mehrere Zellen erweitern?
Antwort: Verwende If Target.Address(0, 0) = "A1" Or Target.Address(0, 0) = "B1" oder eine Schleife, um mehrere Zellen zu prüfen.

2. Frage
Kann ich die Eingabeprüfung auch für Formeln verwenden?
Antwort: Ja, jedoch musst Du sicherstellen, dass der Code nicht in einer Endlosschleife endet, wenn die Formel das Ergebnis beeinflusst.

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