ich habe drei Zellen für Eingaben D23; D26 und D29. Die drei Eingabezellen liefern unterschiedliche Ergebnisse in den G bis J 23, 26 und 29.
- Möglichkeit 1 Wenn ich in eine dieser Zellen eine Zahl eingebe, soll das die beiden anderen Zellen für eine Eingabe sperren, erst wenn diese Eingabe wieder gelöscht wird, kann eine neue Eingabe in eine der drei Zellen erfolgen.
- Möglichkeit 2 Wenn ich in Zellen A eine Zahl eingebe dann in Zelle B eine Zahl eingebe wird der Eintrag in Zelle A gelöscht.
Bitte ohne VBA. Ich bin der Meinung Möglichkeit 1 lässt sich einfacher realisieren. Vielleicht hat ja jemand von euch eine Lösung und sag schon mal Danke für eure Mühen. Die Beispieldatei habe ich eingestellt.
Lieben Gruß Thomas
Wer nie Fehler macht, nie scheitert, nie Grenzen überschreitet, hat sich selbst nie richtig herausgefordert. Nur wer Grenzen überschreitet, Fehler macht und scheidert weiß wo die Grenzen des machbaren liegen..
Die Beiträge und Anhänge werden gerne unter Ausschluss jeglicher Gewährleistung weitergegeben. tomtom58
ob da inzwischen in O2024 (vermutlich aber auch nicht) was ohne VBA geht keine Ahnung, aber in O2019 meines Wissens nicht, zumal ja die Überwachung eines Ereignisses in den Zellen nötig ist. Formeln können nur etwas in der Zelle((n) falls spillende Formel) ausgeben.
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:1 Nutzer sagt Danke an Egon12 für diesen Beitrag 28 • tomtom58
22.04.2025, 10:50 (Dieser Beitrag wurde zuletzt bearbeitet: 22.04.2025, 10:52 von UweD.)
Falls doch VBA, dann so...
- Rechtsclick auf den Tabellenblattreiter - Code anzeigen - Diesen Code rechts reinkopieren
Code:
Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo Fehler Const APPNAME = "Worksheet_Change" Dim RNG As Range, TMP As Integer
Set RNG = Range("D23, D26, D29")
If Not Intersect(Target, RNG) Is Nothing Then Select Case True Case WorksheetFunction.CountA(RNG) = 0 'Wenn alle Zellen Leer GoTo Ende
Case IsNumeric(Target) And Target <> "" 'Wenn Zahl und nicht leer TMP = Target Application.EnableEvents = False RNG.ClearContents Target = TMP
Case Not IsNumeric(Target) 'Wenn Text MsgBox "Falscheingabe" With Application .EnableEvents = False Target.ClearContents End With End Select End If '*** Fehlerbehandlung Err.Clear Ende: Fehler: Application.EnableEvents = True If Err.Number <> 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _ & "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear End Sub
LG UweD
Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:1 Nutzer sagt Danke an UweD für diesen Beitrag 28 • tomtom58
erstmal vielen lieben Dank für eure Unterstützung.
UweD, dein Ansatz ist vielversprechend habe ihn ausprobiert und es Funktioniert. Leider nur von oben nach unten will heißen,
- Eingabe in D23 dann sind D26 und D29 gesperrt; Fehlermeldung kommt.
- Eingabe in D26 dann ist D29 gesperrt; Fehlermeldung kommt leider ist D23 nicht gesperrt
- Eingabe in D29 dann sind D23 und D26 nicht gesperrt.
Leider habe ich die Formel nicht wirklich durchdrungen sonst würde ich mir sie selber zurechtstricken. Vielleicht fällt dir ja noch was ein! Wenn du Zeit hast könntest du mir ja eventuell versuchen die Wirkungsweise zu schildern über eine Antwort würde ich mich freuen. Vielleicht weiß ja Egon12 auch eine Lösung, da es schrieb … Zitat: „Die Datenüberprüfung hatte ich überhaupt nicht auf dem Schirm - Top Lösung.“
Euch nochmal lieben Dank und einen netten Gruß Thomas.
Wer nie Fehler macht, nie scheitert, nie Grenzen überschreitet, hat sich selbst nie richtig herausgefordert. Nur wer Grenzen überschreitet, Fehler macht und scheidert weiß wo die Grenzen des machbaren liegen..
Die Beiträge und Anhänge werden gerne unter Ausschluss jeglicher Gewährleistung weitergegeben. tomtom58
@ Blaukraut05, ja das dachte ich mir schon, deshalb schrieb ich ja auch geschrieben, dass Lösung1 eher realisierbar ist.
auch dir lieben Dank für diesen Hinweis
Gruß Thomas
Wer nie Fehler macht, nie scheitert, nie Grenzen überschreitet, hat sich selbst nie richtig herausgefordert. Nur wer Grenzen überschreitet, Fehler macht und scheidert weiß wo die Grenzen des machbaren liegen..
Die Beiträge und Anhänge werden gerne unter Ausschluss jeglicher Gewährleistung weitergegeben. tomtom58
(22.04.2025, 13:14)tomtom58 schrieb: UweD, dein Ansatz ist vielversprechend habe ihn ausprobiert und es Funktioniert. Leider nur von oben nach unten will heißen,
- Eingabe in D23 dann sind D26 und D29 gesperrt; Fehlermeldung kommt.
- Eingabe in D26 dann ist D29 gesperrt; Fehlermeldung kommt leider ist D23 nicht gesperrt
- Eingabe in D29 dann sind D23 und D26 nicht gesperrt.
Leider habe ich die Formel nicht wirklich durchdrungen sonst würde ich mir sie selber zurechtstricken. Vielleicht fällt dir ja noch was ein! Wenn du Zeit hast könntest du mir ja eventuell versuchen die Wirkungsweise zu schildern über eine Antwort würde ich mich freuen. Vielleicht weiß ja Egon12 auch eine Lösung, da es schrieb … Zitat: „Die Datenüberprüfung hatte ich überhaupt nicht auf dem Schirm - Top Lösung.“