Nur eine Eingabe pro Zeile möglich

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Nur eine Eingabe pro Zeile möglich
von: Dieter.G
Geschrieben am: 10.04.2005 20:28:03
Hallo,
dieses Makro macht es möglich, daß in jede Zeile nur ein X eingegeben werden kann!
Was muss hier verändert werden, damit in einem bestimmten Bereich z.B. A1:E10 in jeder Zeile nur eine Eingabe möglich ist?
Egal welcher Buchstabe oder Text es darf nur eine Eingabe pro Zeile möglich sein.
Danke im Voraus
Gruß Dieter


Private Sub Worksheet_Change(ByVal rngTarget As Range)
    If WorksheetFunction.CountIf(Rows(rngTarget.Row), LCase("X")) > 1 Then
    MsgBox "X kann nur einmal eingegeben werden!", 48, "Hinweis"
    Application.EnableEvents = False
    Application.Undo
    rngTarget.Select
    Application.EnableEvents = True
    End If
End Sub

Bild

Betrifft: AW: Nur eine Eingabe pro Zeile möglich
von: Ramses
Geschrieben am: 10.04.2005 20:45:40
Hallo
x = Application.WorksheetFunction.CountA(Range("A1:E10"))
If x >= 1 Then
oder
Application.WorksheetFunction.CountIf(Range("A1:E10"), LCase("X")) >= 1
Gruss Rainer
Bild

Betrifft: AW: Nur eine Eingabe pro Zeile möglich
von: Dieter.G
Geschrieben am: 10.04.2005 21:14:27
Hallo Rainer,
bei deinem 1. Vorschlag kann im ganzen Bereich A1:E10 nur ein Wert eingegeben werden.
Es soll aber je Zeile nur eine Eingabe möglich sein!
z.B. in B1 steht Wert1, in A2 steht Wert2, in D5 steht Wert3.
jetzt dürfen in Zeile1, Zeile2 und Zeile5 keine weiteren Einträge möglich sein.
mit deinem 2.Vorschlag komm ich leider überhaupt nicht klar.
Gruss Dieter

Private Sub Worksheet_Change(ByVal rngTarget As Range)
    x = Application.WorksheetFunction.CountA(Range("A1:E10"))
    If x >= 2 Then
    MsgBox "X kann nur einmal eingegeben werden!", 48, "Hinweis"
    Application.EnableEvents = False
    Application.Undo
    rngTarget.Select
    Application.EnableEvents = True
    End If
End Sub

Bild

Betrifft: AW: Nur eine Eingabe pro Zeile möglich
von: Ramses
Geschrieben am: 10.04.2005 22:22:11
Hallo
sei mir nicht bös, aber bei "VBA-Gut" erwarte ich schon ein wenig mehr.
Reduziere den Bereich doch einfach auf die Zeile.
Sollte doch kein Problem sein
x = Application.WorksheetFunction.CountA(Rows(Target.Row))
Die zweite Variante gleich.
Die Syntax dazu findest du in der VBA-Online-Hilfe und unterscheidet sich nicht von deinem Code-Beispiel
Gruss Rainer
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Nur eine Eingabe pro Zeile möglich"