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

Nur eine Eingabe pro Zeile möglich

Nur eine Eingabe pro Zeile möglich
10.04.2005 20:28:03
Dieter.G
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

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

Betreff
Datum
Anwender
Anzeige
AW: Nur eine Eingabe pro Zeile möglich
10.04.2005 20:45:40
Ramses
Hallo
x = Application.WorksheetFunction.CountA(Range("A1:E10"))
If x &gt= 1 Then
oder
Application.WorksheetFunction.CountIf(Range("A1:E10"), LCase("X")) &gt= 1
Gruss Rainer
AW: Nur eine Eingabe pro Zeile möglich
10.04.2005 21:14:27
Dieter.G
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

Anzeige
AW: Nur eine Eingabe pro Zeile möglich
10.04.2005 22:22:11
Ramses
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige