Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Change(ByVal Target as range

Change(ByVal Target as range
26.02.2008 21:35:00
txfrede
Hallo brauche dringend Hilfe
ich möchte wenn in Zelle A1 ein Wert eingegeben wird, überprüfen ob der Eingabewert im Bereich des Max Wertes der Zelle A2 und im Min Wertes Zelle A3 ist.
Wenn der eingebende Wert ausserhalb von MIN/Max ist, soll eine Meldung kommen "ist die Eingabe korrekt?" die mit OK (der Wert wird trotz Abweichung übernommen) oder Abrechen der Wert wird gelöscht und muss neu eingegeben werden.
Das ganze soll für ca 130 Zeilen ausgelegt werden.
B1 = Eingabe B2 Min-Wert B3 Max-Wert
u.s.w.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Gültigkeit
26.02.2008 21:48:00
Beate
Hallo,
dafür brauchst du kein Makro, dass kannst du über Menü > Daten > Gültigkeit.... einstellen:
 ABC
112105

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
A1Benutzerdefiniert =UND(A1>=C1;A1<=B1) 

Im Registerblatt Fehlermeldung setzt du oben einen Haken, wählst im Dropdown "Warnung" aus und schreibst deinen gewünschten Warntext in das Textfeld.
Guckst Du: Gültigkeit (1) - Grundlagen
Gruß,
Beate

Anzeige
AW: Change(ByVal Target as range
26.02.2008 21:48:00
Henrik
Wenn du kleine Abweichungen in der Benutzerführung tolerierst würde ich es ganz einfach so machen:
Zelle A1 mit Gültigkeitsprüfung belegen, dazu
- Menüleiste - Daten - Gültigkeit...
- Register Einstellungen: Zulassen Dezimal, Daten zwischen, Minimum A2, Maximum A3
- Register Fehlermeldung: Häkschen setzen, Typ Warnung - und dann deinen Text eingeben.
Hilft dir das weiter? Gruß H.

AW: Change(ByVal Target as range
26.02.2008 22:59:00
Gerd
Hallo txfrede
oder entsprechend deiner Überschrift - ins Tabellenblattmodul.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsEmpty(Target.Value) And IsNumeric(Target.Value) Then
If Not Intersect(Range(Target.Address), Range(Cells(1, 1), Cells(130, 1))) Is Nothing Then
If Target.Count = 1 Then
If Target.Offset(0, 1).Value  Target.Value Then
If MsgBox("Ist die Eingabe korrekt?", vbOKCancel + vbQuestion, "Kontrolle") = vbCancel Then
Target.Value = Empty
End If
End If
End If
End If
End If
End Sub


Gru? Gerd

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)